]> git.ipfire.org Git - thirdparty/git.git/blob - t/t2100-update-cache-badpath.sh
path.c: don't call the match function without value in trie_find()
[thirdparty/git.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 if test_have_prereq SYMLINKS
30 then
31 ln -s xyzzy path1
32 else
33 date > path1
34 fi
35 date >path2/file2
36 date >path3/file3
37
38 test_expect_success \
39 'git update-index --add to add various paths.' \
40 'git update-index --add -- path0 path1 path2/file2 path3/file3'
41
42 rm -fr path?
43
44 mkdir path0 path1
45 date >path2
46 if test_have_prereq SYMLINKS
47 then
48 ln -s frotz path3
49 else
50 date > path3
51 fi
52 date >path0/file0
53 date >path1/file1
54
55 for p in path0/file0 path1/file1 path2 path3
56 do
57 test_expect_success \
58 "git update-index to add conflicting path $p should fail." \
59 "test_must_fail git update-index --add -- $p"
60 done
61 test_done