Merge branch 'ad/commit-have-m-option' into maint

"git commit" misbehaved in a few minor ways when an empty message
is given via -m '', all of which has been corrected.

* ad/commit-have-m-option:
  commit: do not ignore an empty message given by -m ''
  commit: --amend -m '' silently fails to wipe message
This commit is contained in:
Junio C Hamano
2016-05-02 14:24:09 -07:00
2 changed files with 23 additions and 3 deletions

View File

@ -694,7 +694,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
}
}
if (message.len) {
if (have_option_m) {
strbuf_addbuf(&sb, &message);
hook_arg1 = "message";
} else if (logfile && !strcmp(logfile, "-")) {
@ -1171,9 +1171,9 @@ static int parse_and_validate_options(int argc, const char *argv[],
f++;
if (f > 1)
die(_("Only one of -c/-C/-F/--fixup can be used."));
if (message.len && f > 0)
if (have_option_m && f > 0)
die((_("Option -m cannot be combined with -c/-C/-F/--fixup.")));
if (f || message.len)
if (f || have_option_m)
template_file = NULL;
if (edit_message)
use_message = edit_message;