 4e1b06da25
			
		
	
	4e1b06da25
	
	
	
		
			
			Just like the pretty printing machinery, we should simply ignore blank lines at the beginning of the commit messages. This discrepancy was noticed when an early version of the rebase--helper produced commit objects with more than one empty line between the header and the commit message. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			108 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| test_description='blame output in various formats on a simple case'
 | |
| . ./test-lib.sh
 | |
| 
 | |
| test_expect_success 'setup' '
 | |
| 	echo a >file &&
 | |
| 	git add file &&
 | |
| 	test_tick &&
 | |
| 	git commit -m one &&
 | |
| 	echo b >>file &&
 | |
| 	echo c >>file &&
 | |
| 	echo d >>file &&
 | |
| 	test_tick &&
 | |
| 	git commit -a -m two
 | |
| '
 | |
| 
 | |
| cat >expect <<'EOF'
 | |
| ^baf5e0b (A U Thor 2005-04-07 15:13:13 -0700 1) a
 | |
| 8825379d (A U Thor 2005-04-07 15:14:13 -0700 2) b
 | |
| 8825379d (A U Thor 2005-04-07 15:14:13 -0700 3) c
 | |
| 8825379d (A U Thor 2005-04-07 15:14:13 -0700 4) d
 | |
| EOF
 | |
| test_expect_success 'normal blame output' '
 | |
| 	git blame file >actual &&
 | |
| 	test_cmp expect actual
 | |
| '
 | |
| 
 | |
| ID1=baf5e0b3869e0b2b2beb395a3720c7b51eac94fc
 | |
| COMMIT1='author A U Thor
 | |
| author-mail <author@example.com>
 | |
| author-time 1112911993
 | |
| author-tz -0700
 | |
| committer C O Mitter
 | |
| committer-mail <committer@example.com>
 | |
| committer-time 1112911993
 | |
| committer-tz -0700
 | |
| summary one
 | |
| boundary
 | |
| filename file'
 | |
| ID2=8825379dfb8a1267b58e8e5bcf69eec838f685ec
 | |
| COMMIT2='author A U Thor
 | |
| author-mail <author@example.com>
 | |
| author-time 1112912053
 | |
| author-tz -0700
 | |
| committer C O Mitter
 | |
| committer-mail <committer@example.com>
 | |
| committer-time 1112912053
 | |
| committer-tz -0700
 | |
| summary two
 | |
| previous baf5e0b3869e0b2b2beb395a3720c7b51eac94fc file
 | |
| filename file'
 | |
| 
 | |
| cat >expect <<EOF
 | |
| $ID1 1 1 1
 | |
| $COMMIT1
 | |
| 	a
 | |
| $ID2 2 2 3
 | |
| $COMMIT2
 | |
| 	b
 | |
| $ID2 3 3
 | |
| 	c
 | |
| $ID2 4 4
 | |
| 	d
 | |
| EOF
 | |
| test_expect_success 'blame --porcelain output' '
 | |
| 	git blame --porcelain file >actual &&
 | |
| 	test_cmp expect actual
 | |
| '
 | |
| 
 | |
| cat >expect <<EOF
 | |
| $ID1 1 1 1
 | |
| $COMMIT1
 | |
| 	a
 | |
| $ID2 2 2 3
 | |
| $COMMIT2
 | |
| 	b
 | |
| $ID2 3 3
 | |
| $COMMIT2
 | |
| 	c
 | |
| $ID2 4 4
 | |
| $COMMIT2
 | |
| 	d
 | |
| EOF
 | |
| test_expect_success 'blame --line-porcelain output' '
 | |
| 	git blame --line-porcelain file >actual &&
 | |
| 	test_cmp expect actual
 | |
| '
 | |
| 
 | |
| test_expect_success '--porcelain detects first non-blank line as subject' '
 | |
| 	(
 | |
| 		GIT_INDEX_FILE=.git/tmp-index &&
 | |
| 		export GIT_INDEX_FILE &&
 | |
| 		echo "This is it" >single-file &&
 | |
| 		git add single-file &&
 | |
| 		tree=$(git write-tree) &&
 | |
| 		commit=$(printf "%s\n%s\n%s\n\n\n  \noneline\n\nbody\n" \
 | |
| 			"tree $tree" \
 | |
| 			"author A <a@b.c> 123456789 +0000" \
 | |
| 			"committer C <c@d.e> 123456789 +0000" |
 | |
| 		git hash-object -w -t commit --stdin) &&
 | |
| 		git blame --porcelain $commit -- single-file >output &&
 | |
| 		grep "^summary oneline$" output
 | |
| 	)
 | |
| '
 | |
| 
 | |
| test_done
 |