diff options
Diffstat (limited to 'third_party/git/t/t2100-update-cache-badpath.sh')
-rwxr-xr-x | third_party/git/t/t2100-update-cache-badpath.sh | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/third_party/git/t/t2100-update-cache-badpath.sh b/third_party/git/t/t2100-update-cache-badpath.sh new file mode 100755 index 000000000000..2df3fdde8bf6 --- /dev/null +++ b/third_party/git/t/t2100-update-cache-badpath.sh @@ -0,0 +1,61 @@ +#!/bin/sh +# +# Copyright (c) 2005 Junio C Hamano +# + +test_description='git update-index nonsense-path test. + +This test creates the following structure in the cache: + + path0 - a file + path1 - a symlink + path2/file2 - a file in a directory + path3/file3 - a file in a directory + +and tries to git update-index --add the following: + + path0/file0 - a file in a directory + path1/file1 - a file in a directory + path2 - a file + path3 - a symlink + +All of the attempts should fail. +' + +. ./test-lib.sh + +mkdir path2 path3 +date >path0 +if test_have_prereq SYMLINKS +then + ln -s xyzzy path1 +else + date > path1 +fi +date >path2/file2 +date >path3/file3 + +test_expect_success \ + 'git update-index --add to add various paths.' \ + 'git update-index --add -- path0 path1 path2/file2 path3/file3' + +rm -fr path? + +mkdir path0 path1 +date >path2 +if test_have_prereq SYMLINKS +then + ln -s frotz path3 +else + date > path3 +fi +date >path0/file0 +date >path1/file1 + +for p in path0/file0 path1/file1 path2 path3 +do + test_expect_success \ + "git update-index to add conflicting path $p should fail." \ + "test_must_fail git update-index --add -- $p" +done +test_done |