Add option to git-commit to allow empty log messages
Change git-commit(1) to accept the --allow-empty-message option to allow a commit with an empty message. This is analogous to the existing --allow-empty option which allows a commit that records no changes. As these are mainly for interoperating with foreign SCM systems, and are not meant for normal use, ensure that "git commit -h" does not talk about them. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
537f6c7fb4
commit
c9b5fde759
@ -66,7 +66,7 @@ static char *edit_message, *use_message;
|
||||
static char *author_name, *author_email, *author_date;
|
||||
static int all, edit_flag, also, interactive, only, amend, signoff;
|
||||
static int quiet, verbose, no_verify, allow_empty, dry_run, renew_authorship;
|
||||
static int no_post_rewrite;
|
||||
static int no_post_rewrite, allow_empty_message;
|
||||
static char *untracked_files_arg, *force_date;
|
||||
/*
|
||||
* The default commit message cleanup mode will remove the lines
|
||||
@ -140,9 +140,15 @@ static struct option builtin_commit_options[] = {
|
||||
OPT_BOOLEAN(0, "amend", &amend, "amend previous commit"),
|
||||
OPT_BOOLEAN(0, "no-post-rewrite", &no_post_rewrite, "bypass post-rewrite hook"),
|
||||
{ OPTION_STRING, 'u', "untracked-files", &untracked_files_arg, "mode", "show untracked files, optional modes: all, normal, no. (Default: all)", PARSE_OPT_OPTARG, NULL, (intptr_t)"all" },
|
||||
OPT_BOOLEAN(0, "allow-empty", &allow_empty, "ok to record an empty change"),
|
||||
/* end commit contents options */
|
||||
|
||||
{ OPTION_BOOLEAN, 0, "allow-empty", &allow_empty, NULL,
|
||||
"ok to record an empty change",
|
||||
PARSE_OPT_NOARG | PARSE_OPT_HIDDEN },
|
||||
{ OPTION_BOOLEAN, 0, "allow-empty-message", &allow_empty_message, NULL,
|
||||
"ok to record a change with an empty message",
|
||||
PARSE_OPT_NOARG | PARSE_OPT_HIDDEN },
|
||||
|
||||
OPT_END()
|
||||
};
|
||||
|
||||
@ -1293,7 +1299,7 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
|
||||
|
||||
if (cleanup_mode != CLEANUP_NONE)
|
||||
stripspace(&sb, cleanup_mode == CLEANUP_ALL);
|
||||
if (message_is_empty(&sb)) {
|
||||
if (message_is_empty(&sb) && !allow_empty_message) {
|
||||
rollback_index_files();
|
||||
fprintf(stderr, "Aborting commit due to empty commit message.\n");
|
||||
exit(1);
|
||||
|
Reference in New Issue
Block a user