Merge branch 'maint'
[git/mingw.git] / t / t2007-checkout-symlink.sh
blob05cc8fdd0168d33d0fe6f2ca54aa4162a0c6cdd0
1 #!/bin/sh
3 # Copyright (c) 2007 Junio C Hamano
5 test_description='git checkout to switch between branches with symlink<->dir'
7 . ./test-lib.sh
9 if ! test_have_prereq SYMLINKS
10 then
11 skip_all="symbolic links not supported - skipping tests"
12 test_done
15 test_expect_success setup '
17 mkdir frotz &&
18 echo hello >frotz/filfre &&
19 git add frotz/filfre &&
20 test_tick &&
21 git commit -m "master has file frotz/filfre" &&
23 git branch side &&
25 echo goodbye >nitfol &&
26 git add nitfol
27 test_tick &&
28 git commit -m "master adds file nitfol" &&
30 git checkout side &&
32 git rm --cached frotz/filfre &&
33 mv frotz xyzzy &&
34 ln -s xyzzy frotz &&
35 git add xyzzy/filfre frotz &&
36 test_tick &&
37 git commit -m "side moves frotz/ to xyzzy/ and adds frotz->xyzzy/"
41 test_expect_success 'switch from symlink to dir' '
43 git checkout master
47 test_expect_success 'Remove temporary directories & switch to master' '
48 rm -fr frotz xyzzy nitfol &&
49 git checkout -f master
52 test_expect_success 'switch from dir to symlink' '
54 git checkout side
58 test_done