t4150: test applying StGit patch
By default, an StGit patch separates the subject from the commit message and headers as follows: $subject From: $author_name <$author_email> $message --- $diffstats We test git-am's ability to detect such a patch as an StGit patch, and its ability to be able to extract the commit author, date and message from such a patch. Based-on-patch-by: Chris Packham <judge.packham@gmail.com> Signed-off-by: Paul Tan <pyokagan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									3d4a3ffe64
								
							
						
					
					
						commit
						1daaddd1d3
					
				|  | @ -104,6 +104,18 @@ test_expect_success setup ' | ||||||
| 		echo "X-Fake-Field: Line Three" && | 		echo "X-Fake-Field: Line Three" && | ||||||
| 		git format-patch --stdout first | sed -e "1d" | 		git format-patch --stdout first | sed -e "1d" | ||||||
| 	} > patch1-ws.eml && | 	} > patch1-ws.eml && | ||||||
|  | 	{ | ||||||
|  | 		sed -ne "1p" msg && | ||||||
|  | 		echo && | ||||||
|  | 		echo "From: $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>" && | ||||||
|  | 		echo "Date: $GIT_AUTHOR_DATE" && | ||||||
|  | 		echo && | ||||||
|  | 		sed -e "1,2d" msg && | ||||||
|  | 		echo && | ||||||
|  | 		echo "Signed-off-by: $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>" && | ||||||
|  | 		echo "---" && | ||||||
|  | 		git diff-tree --no-commit-id --stat -p second | ||||||
|  | 	} >patch1-stgit.eml && | ||||||
|  |  | ||||||
| 	sed -n -e "3,\$p" msg >file && | 	sed -n -e "3,\$p" msg >file && | ||||||
| 	git add file && | 	git add file && | ||||||
|  | @ -187,6 +199,16 @@ test_expect_success 'am applies patch e-mail with preceding whitespace' ' | ||||||
| 	test "$(git rev-parse second^)" = "$(git rev-parse HEAD^)" | 	test "$(git rev-parse second^)" = "$(git rev-parse HEAD^)" | ||||||
| ' | ' | ||||||
|  |  | ||||||
|  | test_expect_success 'am applies stgit patch' ' | ||||||
|  | 	rm -fr .git/rebase-apply && | ||||||
|  | 	git checkout -f first && | ||||||
|  | 	git am patch1-stgit.eml && | ||||||
|  | 	test_path_is_missing .git/rebase-apply && | ||||||
|  | 	git diff --exit-code second && | ||||||
|  | 	test_cmp_rev second HEAD && | ||||||
|  | 	test_cmp_rev second^ HEAD^ | ||||||
|  | ' | ||||||
|  |  | ||||||
| test_expect_success 'setup: new author and committer' ' | test_expect_success 'setup: new author and committer' ' | ||||||
| 	GIT_AUTHOR_NAME="Another Thor" && | 	GIT_AUTHOR_NAME="Another Thor" && | ||||||
| 	GIT_AUTHOR_EMAIL="a.thor@example.com" && | 	GIT_AUTHOR_EMAIL="a.thor@example.com" && | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Paul Tan
						Paul Tan