From bc17f35f8c65295fbfcb281dda8560136fb26fb4 Mon Sep 17 00:00:00 2001 From: Kaartic Sivaraam Date: Mon, 17 Jul 2017 21:06:15 +0530 Subject: [PATCH] commit: check for empty message before the check for untouched template The check for whether the template given to 'git commit' is untouched is done before the empty message check. This results in a wrong error message being displayed in the following case. When the user removes everything in template completely to abort the commit he is shown the "template untouched" error which is wrong. He should be shown the "empty message" error. Do the empty message check before checking for an untouched template thus fixing this issue. Signed-off-by: Kaartic Sivaraam Signed-off-by: Junio C Hamano --- builtin/commit.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/builtin/commit.c b/builtin/commit.c index aff6bf7aad..9c299d7925 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -1736,19 +1736,19 @@ int cmd_commit(int argc, const char **argv, const char *prefix) if (verbose || /* Truncate the message just before the diff, if any. */ cleanup_mode == CLEANUP_SCISSORS) strbuf_setlen(&sb, wt_status_locate_end(sb.buf, sb.len)); - if (cleanup_mode != CLEANUP_NONE) strbuf_stripspace(&sb, cleanup_mode == CLEANUP_ALL); - if (template_untouched(&sb) && !allow_empty_message) { - rollback_index_files(); - fprintf(stderr, _("Aborting commit; you did not edit the message.\n")); - exit(1); - } + if (message_is_empty(&sb) && !allow_empty_message) { rollback_index_files(); fprintf(stderr, _("Aborting commit due to empty commit message.\n")); exit(1); } + if (template_untouched(&sb) && !allow_empty_message) { + rollback_index_files(); + fprintf(stderr, _("Aborting commit; you did not edit the message.\n")); + exit(1); + } if (amend) { const char *exclude_gpgsig[2] = { "gpgsig", NULL };