3 test_description
='setup taking and sanitizing funny paths'
7 test_expect_success setup
'
16 test_expect_success
'git add (absolute)' '
18 git add "$D/a/b/c/d" &&
19 git ls-files >current &&
20 echo a/b/c/d >expect &&
21 diff -u expect current
26 test_expect_success
'git add (funny relative)' '
33 git ls-files >current &&
35 diff -u expect current
39 test_expect_success
'git rm (absolute)' '
43 git rm -f --cached "$D/a/b/c/d" &&
44 git ls-files >current &&
46 diff -u expect current
50 test_expect_success
'git rm (funny relative)' '
56 git rm -f --cached "../e/./f"
58 git ls-files >current &&
59 echo a/b/c/d >expect &&
60 diff -u expect current
64 test_expect_success
'git ls-files (absolute)' '
68 git ls-files "$D/a/e/../b" >current &&
69 echo a/b/c/d >expect &&
70 diff -u expect current
74 test_expect_success
'git ls-files (relative #1)' '
83 diff -u expect current
87 test_expect_success
'git ls-files (relative #2)' '
93 git ls-files --full-name "../e/f"
96 diff -u expect current
100 test_expect_success
'git ls-files (relative #3)' '
106 if git ls-files "../e/f"
108 echo Gaah, should have failed