From fab47d057559301c74d6642576694fd251a3fd11 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Mon, 7 Nov 2011 16:29:34 -0800 Subject: [PATCH] merge: force edit and no-ff mode when merging a tag object Now that we allow pulling a tag from the remote site to validate the authenticity, we should give the user the final chance to verify and edit the merge message. The integrator is expected to leave a meaningful merge commit log in the history. Disallow fast-forwarding in such a case to ensure that a merge commit is always recorded. Signed-off-by: Junio C Hamano --- builtin/merge.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/builtin/merge.c b/builtin/merge.c index 7158e8e2d..99f1429b3 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -1253,6 +1253,12 @@ int cmd_merge(int argc, const char **argv, const char *prefix) sha1_to_hex(commit->object.sha1)); setenv(buf.buf, argv[i], 1); strbuf_reset(&buf); + if (merge_remote_util(commit) && + merge_remote_util(commit)->obj && + merge_remote_util(commit)->obj->type == OBJ_TAG) { + option_edit = 1; + allow_fast_forward = 0; + } } if (!use_strategies) { -- 2.11.0