read-cache: check for leading symlinks when refreshing index
[git.git] / t / t3004-ls-files-basic.sh
blob9c7adbdbe1cd7bf03e9b8f10a75f0acb4f37a5b2
1 #!/bin/sh
3 test_description='basic ls-files tests
5 This test runs git ls-files with various unusual or malformed
6 command-line arguments.
9 . ./test-lib.sh
11 >empty
13 test_expect_success 'ls-files in empty repository' '
14 git ls-files >actual &&
15 test_cmp empty actual
18 test_expect_success 'ls-files with nonexistent path' '
19 git ls-files doesnotexist >actual &&
20 test_cmp empty actual
23 test_expect_success 'ls-files with nonsense option' '
24 test_expect_code 129 git ls-files --nonsense 2>actual &&
25 test_i18ngrep "[Uu]sage: git ls-files" actual
28 test_expect_success 'ls-files -h in corrupt repository' '
29 mkdir broken &&
31 cd broken &&
32 git init &&
33 >.git/index &&
34 test_expect_code 129 git ls-files -h >usage 2>&1
35 ) &&
36 test_i18ngrep "[Uu]sage: git ls-files " broken/usage
39 test_expect_success SYMLINKS 'ls-files with absolute paths to symlinks' '
40 mkdir subs &&
41 ln -s nosuch link &&
42 ln -s ../nosuch subs/link &&
43 git add link subs/link &&
44 git ls-files -s link subs/link >expect &&
45 git ls-files -s "$(pwd)/link" "$(pwd)/subs/link" >actual &&
46 test_cmp expect actual &&
49 cd subs &&
50 git ls-files -s link >../expect &&
51 git ls-files -s "$(pwd)/link" >../actual
52 ) &&
53 test_cmp expect actual
56 test_done