61 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/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
 |