Code

Merge branch 'maint-1.7.1' into maint-1.7.2
[git.git] / t / t2007-checkout-symlink.sh
1 #!/bin/sh
2 #
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
13 fi
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/"
39 '
41 test_expect_success 'switch from symlink to dir' '
43         git checkout master
45 '
47 test_expect_success 'Remove temporary directories & switch to master' '
48         rm -fr frotz xyzzy nitfol &&
49         git checkout -f master
50 '
52 test_expect_success 'switch from dir to symlink' '
54         git checkout side
56 '
58 test_done