Merge branch 'js/mingw-rename-fix' into maint
[git] / t / t2100-update-cache-badpath.sh
1 #!/bin/sh
2 #
3 # Copyright (c) 2005 Junio C Hamano
4 #
5
6 test_description='git update-index nonsense-path test.
7
8 This test creates the following structure in the cache:
9
10     path0       - a file
11     path1       - a symlink
12     path2/file2 - a file in a directory
13     path3/file3 - a file in a directory
14
15 and tries to git update-index --add the following:
16
17     path0/file0 - a file in a directory
18     path1/file1 - a file in a directory
19     path2       - a file
20     path3       - a symlink
21
22 All of the attempts should fail.
23 '
24
25 . ./test-lib.sh
26
27 mkdir path2 path3
28 date >path0
29 ln -s xyzzy path1
30 date >path2/file2
31 date >path3/file3
32
33 test_expect_success \
34     'git update-index --add to add various paths.' \
35     'git update-index --add -- path0 path1 path2/file2 path3/file3'
36
37 rm -fr path?
38
39 mkdir path0 path1
40 date >path2
41 ln -s frotz path3
42 date >path0/file0
43 date >path1/file1
44
45 for p in path0/file0 path1/file1 path2 path3
46 do
47         test_expect_success \
48             "git update-index to add conflicting path $p should fail." \
49             "test_must_fail git update-index --add -- $p"
50 done
51 test_done