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; | 			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; | 			continue; | ||||||
|  |  | ||||||
| 		if (!strcmp(arg, "--no-gpg-sign")) { | 		if (!strcmp(arg, "--no-gpg-sign")) { | ||||||
|  |  | ||||||
|  | @ -55,13 +55,22 @@ test_expect_success GPG 'create signed commits' ' | ||||||
| 	# explicit -S of course must sign. | 	# explicit -S of course must sign. | ||||||
| 	echo 10 | git commit-tree -S HEAD^{tree} >oid && | 	echo 10 | git commit-tree -S HEAD^{tree} >oid && | ||||||
| 	test_line_count = 1 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' ' | test_expect_success GPG 'verify and show signatures' ' | ||||||
| 	( | 	( | ||||||
| 		for commit in initial second merge fourth-signed \ | 		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 | 		do | ||||||
| 			git verify-commit $commit && | 			git verify-commit $commit && | ||||||
| 			git show --pretty=short --show-signature $commit >actual && | 			git show --pretty=short --show-signature $commit >actual && | ||||||
|  | @ -82,7 +91,7 @@ test_expect_success GPG 'verify and show signatures' ' | ||||||
| 		done | 		done | ||||||
| 	) && | 	) && | ||||||
| 	( | 	( | ||||||
| 		for commit in eighth-signed-alt | 		for commit in eighth-signed-alt twelfth-signed-alt | ||||||
| 		do | 		do | ||||||
| 			git show --pretty=short --show-signature $commit >actual && | 			git show --pretty=short --show-signature $commit >actual && | ||||||
| 			grep "Good signature from" actual && | 			grep "Good signature from" actual && | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Brandon Richardson
						Brandon Richardson