* jk/diff-not-so-quick: diff: futureproof "stop feeding the backend early" logic diff_tree: disable QUICK optimization with diff filter Conflicts: diff.c
		
			
				
	
	
		
			76 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
test_description='diff --exit-code with whitespace'
 | 
						|
. ./test-lib.sh
 | 
						|
 | 
						|
test_expect_success setup '
 | 
						|
	mkdir a b &&
 | 
						|
	echo >c &&
 | 
						|
	echo >a/d &&
 | 
						|
	echo >b/e &&
 | 
						|
	git add . &&
 | 
						|
	test_tick &&
 | 
						|
	git commit -m initial &&
 | 
						|
	echo " " >a/d &&
 | 
						|
	test_tick &&
 | 
						|
	git commit -a -m second &&
 | 
						|
	echo "  " >a/d &&
 | 
						|
	echo " " >b/e &&
 | 
						|
	git add a/d
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'diff-tree --exit-code' '
 | 
						|
	test_must_fail git diff --exit-code HEAD^ HEAD &&
 | 
						|
	test_must_fail git diff-tree --exit-code HEAD^ HEAD
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'diff-tree -b --exit-code' '
 | 
						|
	git diff -b --exit-code HEAD^ HEAD &&
 | 
						|
	git diff-tree -b -p --exit-code HEAD^ HEAD &&
 | 
						|
	git diff-tree -b --exit-code HEAD^ HEAD
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'diff-index --cached --exit-code' '
 | 
						|
	test_must_fail git diff --cached --exit-code HEAD &&
 | 
						|
	test_must_fail git diff-index --cached --exit-code HEAD
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'diff-index -b -p --cached --exit-code' '
 | 
						|
	git diff -b --cached --exit-code HEAD &&
 | 
						|
	git diff-index -b -p --cached --exit-code HEAD
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'diff-index --exit-code' '
 | 
						|
	test_must_fail git diff --exit-code HEAD &&
 | 
						|
	test_must_fail git diff-index --exit-code HEAD
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'diff-index -b -p --exit-code' '
 | 
						|
	git diff -b --exit-code HEAD &&
 | 
						|
	git diff-index -b -p --exit-code HEAD
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'diff-files --exit-code' '
 | 
						|
	test_must_fail git diff --exit-code &&
 | 
						|
	test_must_fail git diff-files --exit-code
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'diff-files -b -p --exit-code' '
 | 
						|
	git diff -b --exit-code &&
 | 
						|
	git diff-files -b -p --exit-code
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'diff-files --diff-filter --quiet' '
 | 
						|
	git reset --hard &&
 | 
						|
	rm a/d &&
 | 
						|
	echo x >>b/e &&
 | 
						|
	test_must_fail git diff-files --diff-filter=M --quiet
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'diff-tree --diff-filter --quiet' '
 | 
						|
	git commit -a -m "worktree state" &&
 | 
						|
	test_must_fail git diff-tree --diff-filter=M --quiet HEAD^ HEAD
 | 
						|
'
 | 
						|
 | 
						|
test_done
 |