commit-tree: add missing --gpg-sign flag
Add --gpg-sign option in commit-tree, which was documented, but not
implemented, in 55ca3f99ae. Add tests for the --gpg-sign option.
Signed-off-by: Brandon Richardson <brandon1024.br@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
			
			
				maint
			
			
		
							parent
							
								
									41a74bd013
								
							
						
					
					
						commit
						70ddbd7767
					
				|  | @ -66,7 +66,13 @@ int cmd_commit_tree(int argc, const char **argv, const char *prefix) | |||
| 			continue; | ||||
| 		} | ||||
|  | ||||
| 		if (skip_prefix(arg, "-S", &sign_commit)) | ||||
| 		if (!strcmp(arg, "--gpg-sign")) { | ||||
| 		    sign_commit = ""; | ||||
| 		    continue; | ||||
| 		} | ||||
|  | ||||
| 		if (skip_prefix(arg, "-S", &sign_commit) || | ||||
| 			skip_prefix(arg, "--gpg-sign=", &sign_commit)) | ||||
| 			continue; | ||||
|  | ||||
| 		if (!strcmp(arg, "--no-gpg-sign")) { | ||||
|  |  | |||
|  | @ -55,13 +55,22 @@ test_expect_success GPG 'create signed commits' ' | |||
| 	# explicit -S of course must sign. | ||||
| 	echo 10 | git commit-tree -S HEAD^{tree} >oid && | ||||
| 	test_line_count = 1 oid && | ||||
| 	git tag tenth-signed $(cat oid) | ||||
| 	git tag tenth-signed $(cat oid) && | ||||
|  | ||||
| 	# --gpg-sign[=<key-id>] must sign. | ||||
| 	echo 11 | git commit-tree --gpg-sign HEAD^{tree} >oid && | ||||
| 	test_line_count = 1 oid && | ||||
| 	git tag eleventh-signed $(cat oid) && | ||||
| 	echo 12 | git commit-tree --gpg-sign=B7227189 HEAD^{tree} >oid && | ||||
| 	test_line_count = 1 oid && | ||||
| 	git tag twelfth-signed-alt $(cat oid) | ||||
| ' | ||||
|  | ||||
| test_expect_success GPG 'verify and show signatures' ' | ||||
| 	( | ||||
| 		for commit in initial second merge fourth-signed \ | ||||
| 			fifth-signed sixth-signed seventh-signed tenth-signed | ||||
| 			fifth-signed sixth-signed seventh-signed tenth-signed \ | ||||
| 			eleventh-signed | ||||
| 		do | ||||
| 			git verify-commit $commit && | ||||
| 			git show --pretty=short --show-signature $commit >actual && | ||||
|  | @ -82,7 +91,7 @@ test_expect_success GPG 'verify and show signatures' ' | |||
| 		done | ||||
| 	) && | ||||
| 	( | ||||
| 		for commit in eighth-signed-alt | ||||
| 		for commit in eighth-signed-alt twelfth-signed-alt | ||||
| 		do | ||||
| 			git show --pretty=short --show-signature $commit >actual && | ||||
| 			grep "Good signature from" actual && | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Brandon Richardson
						Brandon Richardson