]> git.ipfire.org Git - thirdparty/git.git/blob - t/t7515-status-symlinks.sh
hashmap: use *_entry APIs for iteration
[thirdparty/git.git] / t / t7515-status-symlinks.sh
1 #!/bin/sh
2
3 test_description='git status and symlinks'
4
5 . ./test-lib.sh
6
7 test_expect_success 'setup' '
8 echo .gitignore >.gitignore &&
9 echo actual >>.gitignore &&
10 echo expect >>.gitignore &&
11 mkdir dir &&
12 echo x >dir/file1 &&
13 echo y >dir/file2 &&
14 git add dir &&
15 git commit -m initial &&
16 git tag initial
17 '
18
19 test_expect_success SYMLINKS 'symlink to a directory' '
20 test_when_finished "rm symlink" &&
21 ln -s dir symlink &&
22 echo "?? symlink" >expect &&
23 git status --porcelain >actual &&
24 test_cmp expect actual
25 '
26
27 test_expect_success SYMLINKS 'symlink replacing a directory' '
28 test_when_finished "rm -rf copy && git reset --hard initial" &&
29 mkdir copy &&
30 cp dir/file1 copy/file1 &&
31 echo "changed in copy" >copy/file2 &&
32 git add copy &&
33 git commit -m second &&
34 rm -rf copy &&
35 ln -s dir copy &&
36 echo " D copy/file1" >expect &&
37 echo " D copy/file2" >>expect &&
38 echo "?? copy" >>expect &&
39 git status --porcelain >actual &&
40 test_cmp expect actual
41 '
42
43 test_done