85 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			85 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
| #!/bin/sh
 | |
| 
 | |
| test_description='combined diff'
 | |
| 
 | |
| . ./test-lib.sh
 | |
| 
 | |
| setup_helper () {
 | |
| 	one=$1 branch=$2 side=$3 &&
 | |
| 
 | |
| 	git branch $side $branch &&
 | |
| 	for l in $one two three fyra
 | |
| 	do
 | |
| 		echo $l
 | |
| 	done >file &&
 | |
| 	git add file &&
 | |
| 	test_tick &&
 | |
| 	git commit -m $branch &&
 | |
| 	git checkout $side &&
 | |
| 	for l in $one two three quatro
 | |
| 	do
 | |
| 		echo $l
 | |
| 	done >file &&
 | |
| 	git add file &&
 | |
| 	test_tick &&
 | |
| 	git commit -m $side &&
 | |
| 	test_must_fail git merge $branch &&
 | |
| 	for l in $one three four
 | |
| 	do
 | |
| 		echo $l
 | |
| 	done >file &&
 | |
| 	git add file &&
 | |
| 	test_tick &&
 | |
| 	git commit -m "merge $branch into $side"
 | |
| }
 | |
| 
 | |
| verify_helper () {
 | |
| 	it=$1 &&
 | |
| 
 | |
| 	# Ignore lines that were removed only from the other parent
 | |
| 	sed -e '
 | |
| 		1,/^@@@/d
 | |
| 		/^ -/d
 | |
| 		s/^\(.\)./\1/
 | |
| 	' "$it" >"$it.actual.1" &&
 | |
| 	sed -e '
 | |
| 		1,/^@@@/d
 | |
| 		/^- /d
 | |
| 		s/^.\(.\)/\1/
 | |
| 	' "$it" >"$it.actual.2" &&
 | |
| 
 | |
| 	git diff "$it^" "$it" -- | sed -e '1,/^@@/d' >"$it.expect.1" &&
 | |
| 	test_cmp "$it.expect.1" "$it.actual.1" &&
 | |
| 
 | |
| 	git diff "$it^2" "$it" -- | sed -e '1,/^@@/d' >"$it.expect.2" &&
 | |
| 	test_cmp "$it.expect.2" "$it.actual.2"
 | |
| }
 | |
| 
 | |
| test_expect_success setup '
 | |
| 	>file &&
 | |
| 	git add file &&
 | |
| 	test_tick &&
 | |
| 	git commit -m initial &&
 | |
| 
 | |
| 	git branch withone &&
 | |
| 	git branch sansone &&
 | |
| 
 | |
| 	git checkout withone &&
 | |
| 	setup_helper one withone sidewithone &&
 | |
| 
 | |
| 	git checkout sansone &&
 | |
| 	setup_helper "" sansone sidesansone
 | |
| '
 | |
| 
 | |
| test_expect_success 'check combined output (1)' '
 | |
| 	git show sidewithone -- >sidewithone &&
 | |
| 	verify_helper sidewithone
 | |
| '
 | |
| 
 | |
| test_expect_failure 'check combined output (2)' '
 | |
| 	git show sidesansone -- >sidesansone &&
 | |
| 	verify_helper sidesansone
 | |
| '
 | |
| 
 | |
| test_done
 |