31 lines
		
	
	
	
		
			805 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			805 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/sh
 | |
| #
 | |
| # Copyright (c) 2007 Johannes Sixt
 | |
| #
 | |
| 
 | |
| test_description='git update-index on filesystem w/o symlinks test.
 | |
| 
 | |
| This tests that git update-index keeps the symbolic link property
 | |
| even if a plain file is in the working tree if core.symlinks is false.'
 | |
| 
 | |
| . ./test-lib.sh
 | |
| 
 | |
| test_expect_success \
 | |
| 'preparation' '
 | |
| git config core.symlinks false &&
 | |
| l=$(printf file | git hash-object -t blob -w --stdin) &&
 | |
| echo "120000 $l	symlink" | git update-index --index-info'
 | |
| 
 | |
| test_expect_success \
 | |
| 'modify the symbolic link' '
 | |
| printf new-file > symlink &&
 | |
| git update-index symlink'
 | |
| 
 | |
| test_expect_success \
 | |
| 'the index entry must still be a symbolic link' '
 | |
| case "$(git ls-files --stage --cached symlink)" in
 | |
| 120000" "*symlink) echo pass;;
 | |
| *) echo fail; git ls-files --stage --cached symlink; (exit 1);;
 | |
| esac'
 | |
| 
 | |
| test_done
 |