merge(third_party/git): Merge squashed git subtree at v2.23.0
Merge commit '1b593e1ea4' as 'third_party/git'
			
			
This commit is contained in:
		
						commit
						7ef0d62730
					
				
					 3629 changed files with 1139935 additions and 0 deletions
				
			
		
							
								
								
									
										80
									
								
								third_party/git/t/t4031-diff-rewrite-binary.sh
									
										
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										80
									
								
								third_party/git/t/t4031-diff-rewrite-binary.sh
									
										
									
									
										vendored
									
									
										Executable file
									
								
							|  | @ -0,0 +1,80 @@ | |||
| #!/bin/sh | ||||
| 
 | ||||
| test_description='rewrite diff on binary file' | ||||
| 
 | ||||
| . ./test-lib.sh | ||||
| 
 | ||||
| # We must be large enough to meet the MINIMUM_BREAK_SIZE | ||||
| # requirement. | ||||
| make_file() { | ||||
| 	# common first line to help identify rewrite versus regular diff | ||||
| 	printf "=\n" >file | ||||
| 	for i in 1 2 3 4 5 6 7 8 9 10 | ||||
| 	do | ||||
| 		for j in 1 2 3 4 5 6 7 8 9 | ||||
| 		do | ||||
| 			for k in 1 2 3 4 5 | ||||
| 			do | ||||
| 				printf "$1\n" | ||||
| 			done | ||||
| 		done | ||||
| 	done >>file | ||||
| } | ||||
| 
 | ||||
| test_expect_success 'create binary file with changes' ' | ||||
| 	make_file "\\0" && | ||||
| 	git add file && | ||||
| 	make_file "\\01" | ||||
| ' | ||||
| 
 | ||||
| test_expect_success 'vanilla diff is binary' ' | ||||
| 	git diff >diff && | ||||
| 	grep "Binary files a/file and b/file differ" diff | ||||
| ' | ||||
| 
 | ||||
| test_expect_success 'rewrite diff is binary' ' | ||||
| 	git diff -B >diff && | ||||
| 	grep "dissimilarity index" diff && | ||||
| 	grep "Binary files a/file and b/file differ" diff | ||||
| ' | ||||
| 
 | ||||
| test_expect_success 'rewrite diff can show binary patch' ' | ||||
| 	git diff -B --binary >diff && | ||||
| 	grep "dissimilarity index" diff && | ||||
| 	grep "GIT binary patch" diff | ||||
| ' | ||||
| 
 | ||||
| test_expect_success 'rewrite diff --numstat shows binary changes' ' | ||||
| 	git diff -B --numstat --summary >diff && | ||||
| 	grep -e "-	-	" diff && | ||||
| 	grep " rewrite file" diff | ||||
| ' | ||||
| 
 | ||||
| test_expect_success 'diff --stat counts binary rewrite as 0 lines' ' | ||||
| 	git diff -B --stat --summary >diff && | ||||
| 	grep "Bin" diff && | ||||
| 	test_i18ngrep "0 insertions.*0 deletions" diff && | ||||
| 	grep " rewrite file" diff | ||||
| ' | ||||
| 
 | ||||
| { | ||||
| 	echo "#!$SHELL_PATH" | ||||
| 	cat <<'EOF' | ||||
| "$PERL_PATH" -e '$/ = undef; $_ = <>; s/./ord($&)/ge; print $_' < "$1" | ||||
| EOF | ||||
| } >dump | ||||
| chmod +x dump | ||||
| 
 | ||||
| test_expect_success 'setup textconv' ' | ||||
| 	echo file diff=foo >.gitattributes && | ||||
| 	git config diff.foo.textconv "\"$(pwd)\""/dump | ||||
| ' | ||||
| 
 | ||||
| test_expect_success 'rewrite diff respects textconv' ' | ||||
| 	git diff -B >diff && | ||||
| 	grep "dissimilarity index" diff && | ||||
| 	grep "^-61" diff && | ||||
| 	grep "^-0" diff | ||||
| ' | ||||
| 
 | ||||
| test_done | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue