 ccad42d483
			
		
	
	ccad42d483
	
	
	
		
			
			Don't add paths with leading symlinks to the index while refreshing; we only track those symlinks themselves. We already ignore them while preloading (see read_index_preload.c). Reported-by: Nikolay Avdeev <avdeev@math.vsu.ru> Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			44 lines
		
	
	
		
			972 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			972 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| test_description='git status and symlinks'
 | |
| 
 | |
| . ./test-lib.sh
 | |
| 
 | |
| test_expect_success 'setup' '
 | |
| 	echo .gitignore >.gitignore &&
 | |
| 	echo actual >>.gitignore &&
 | |
| 	echo expect >>.gitignore &&
 | |
| 	mkdir dir &&
 | |
| 	echo x >dir/file1 &&
 | |
| 	echo y >dir/file2 &&
 | |
| 	git add dir &&
 | |
| 	git commit -m initial &&
 | |
| 	git tag initial
 | |
| '
 | |
| 
 | |
| test_expect_success SYMLINKS 'symlink to a directory' '
 | |
| 	test_when_finished "rm symlink" &&
 | |
| 	ln -s dir symlink &&
 | |
| 	echo "?? symlink" >expect &&
 | |
| 	git status --porcelain >actual &&
 | |
| 	test_cmp expect actual
 | |
| '
 | |
| 
 | |
| test_expect_success SYMLINKS 'symlink replacing a directory' '
 | |
| 	test_when_finished "rm -rf copy && git reset --hard initial" &&
 | |
| 	mkdir copy &&
 | |
| 	cp dir/file1 copy/file1 &&
 | |
| 	echo "changed in copy" >copy/file2 &&
 | |
| 	git add copy &&
 | |
| 	git commit -m second &&
 | |
| 	rm -rf copy &&
 | |
| 	ln -s dir copy &&
 | |
| 	echo " D copy/file1" >expect &&
 | |
| 	echo " D copy/file2" >>expect &&
 | |
| 	echo "?? copy" >>expect &&
 | |
| 	git status --porcelain >actual &&
 | |
| 	test_cmp expect actual
 | |
| '
 | |
| 
 | |
| test_done
 |