diff options
Diffstat (limited to 'builtin/merge.c')
-rw-r--r-- | builtin/merge.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/builtin/merge.c b/builtin/merge.c index 62c7b6817..d3e1e8dc9 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -1129,7 +1129,7 @@ static int default_edit_option(void) /* Use editor if stdin and stdout are the same and is a tty */ return (!fstat(0, &st_stdin) && !fstat(1, &st_stdout) && - isatty(0) && + isatty(0) && isatty(1) && st_stdin.st_dev == st_stdout.st_dev && st_stdin.st_ino == st_stdout.st_ino && st_stdin.st_mode == st_stdout.st_mode); @@ -1320,10 +1320,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) && + if (!fast_forward_only && + merge_remote_util(commit) && merge_remote_util(commit)->obj && merge_remote_util(commit)->obj->type == OBJ_TAG) { - option_edit = 1; + if (option_edit < 0) + option_edit = 1; allow_fast_forward = 0; } } |