Merge branch 'jc/show-sig'
* jc/show-sig: log --show-signature: reword the common two-head merge case log-tree: show mergetag in log --show-signature output log-tree.c: small refactor in show_signature() commit --amend -S: strip existing gpgsig headers verify_signed_buffer: fix stale comment gpg-interface: allow use of a custom GPG binary pretty: %G[?GS] placeholders test "commit -S" and "log --show-signature" log: --show-signature commit: teach --gpg-sign option Conflicts: builtin/commit-tree.c builtin/commit.c builtin/merge.c notes-cache.c pretty.c
This commit is contained in:
@ -27,6 +27,7 @@
|
||||
#include "resolve-undo.h"
|
||||
#include "remote.h"
|
||||
#include "fmt-merge-msg.h"
|
||||
#include "gpg-interface.h"
|
||||
|
||||
#define DEFAULT_TWOHEAD (1<<0)
|
||||
#define DEFAULT_OCTOPUS (1<<1)
|
||||
@ -64,6 +65,7 @@ static int allow_rerere_auto;
|
||||
static int abort_current_merge;
|
||||
static int show_progress = -1;
|
||||
static int default_to_upstream;
|
||||
static const char *sign_commit;
|
||||
|
||||
static struct strategy all_strategy[] = {
|
||||
{ "recursive", DEFAULT_TWOHEAD | NO_TRIVIAL },
|
||||
@ -209,6 +211,8 @@ static struct option builtin_merge_options[] = {
|
||||
OPT_BOOLEAN(0, "abort", &abort_current_merge,
|
||||
"abort the current in-progress merge"),
|
||||
OPT_SET_INT(0, "progress", &show_progress, "force progress reporting", 1),
|
||||
{ OPTION_STRING, 'S', "gpg-sign", &sign_commit, "key id",
|
||||
"GPG sign commit", PARSE_OPT_OPTARG, NULL, (intptr_t) "" },
|
||||
OPT_BOOLEAN(0, "overwrite-ignore", &overwrite_ignore, "update ignored files (default)"),
|
||||
OPT_END()
|
||||
};
|
||||
@ -571,7 +575,11 @@ static int git_merge_config(const char *k, const char *v, void *cb)
|
||||
default_to_upstream = git_config_bool(k, v);
|
||||
return 0;
|
||||
}
|
||||
|
||||
status = fmt_merge_msg_config(k, v, cb);
|
||||
if (status)
|
||||
return status;
|
||||
status = git_gpg_config(k, v, NULL);
|
||||
if (status)
|
||||
return status;
|
||||
return git_diff_ui_config(k, v, cb);
|
||||
@ -910,7 +918,8 @@ static int merge_trivial(struct commit *head)
|
||||
parent->next->item = remoteheads->item;
|
||||
parent->next->next = NULL;
|
||||
prepare_to_commit();
|
||||
if (commit_tree(&merge_msg, result_tree, parent, result_commit, NULL))
|
||||
if (commit_tree(&merge_msg, result_tree, parent, result_commit, NULL,
|
||||
sign_commit))
|
||||
die(_("failed to write commit object"));
|
||||
finish(head, result_commit, "In-index merge");
|
||||
drop_save();
|
||||
@ -942,7 +951,8 @@ static int finish_automerge(struct commit *head,
|
||||
strbuf_addch(&merge_msg, '\n');
|
||||
prepare_to_commit();
|
||||
free_commit_list(remoteheads);
|
||||
if (commit_tree(&merge_msg, result_tree, parents, result_commit, NULL))
|
||||
if (commit_tree(&merge_msg, result_tree, parents, result_commit,
|
||||
NULL, sign_commit))
|
||||
die(_("failed to write commit object"));
|
||||
strbuf_addf(&buf, "Merge made by the '%s' strategy.", wt_strategy);
|
||||
finish(head, result_commit, buf.buf);
|
||||
|
Reference in New Issue
Block a user