From 319d835240b752b94ccb67f6515759824955937b Mon Sep 17 00:00:00 2001 From: Andreas Krey Date: Fri, 2 Dec 2016 23:15:13 +0100 Subject: commit: make --only --allow-empty work without paths --only is implied when paths are present, and required them unless --amend. But with --allow-empty it should be allowed as well - it is the only way to create an empty commit in the presence of staged changes. Signed-off-by: Andreas Krey Reviewed-by: Jeff King Signed-off-by: Junio C Hamano --- builtin/commit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'builtin/commit.c') diff --git a/builtin/commit.c b/builtin/commit.c index 77e3dc8494..58b799c10f 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -1201,7 +1201,7 @@ static int parse_and_validate_options(int argc, const char *argv[], if (also + only + all + interactive > 1) die(_("Only one of --include/--only/--all/--interactive/--patch can be used.")); - if (argc == 0 && (also || (only && !amend))) + if (argc == 0 && (also || (only && !amend && !allow_empty))) die(_("No paths with --include/--only does not make sense.")); if (argc == 0 && only && amend) only_include_assumed = _("Clever... amending the last one with dirty index."); -- cgit v1.2.1 From beb635ca9ced5cd8f0eb5d2def9468f14bd243bc Mon Sep 17 00:00:00 2001 From: Andreas Krey Date: Fri, 9 Dec 2016 05:10:21 +0100 Subject: commit: remove 'Clever' message for --only --amend The behavior is now documented; more importantly, rewarding the user with a "Wow, you are clever" praise afterwards is not an effective way to advertise the feature--at that point the user already knows. Signed-off-by: Andreas Krey Signed-off-by: Junio C Hamano --- builtin/commit.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'builtin/commit.c') diff --git a/builtin/commit.c b/builtin/commit.c index 58b799c10f..fc3655ae4c 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -1203,8 +1203,6 @@ static int parse_and_validate_options(int argc, const char *argv[], die(_("Only one of --include/--only/--all/--interactive/--patch can be used.")); if (argc == 0 && (also || (only && !amend && !allow_empty))) die(_("No paths with --include/--only does not make sense.")); - if (argc == 0 && only && amend) - only_include_assumed = _("Clever... amending the last one with dirty index."); if (argc > 0 && !also && !only) only_include_assumed = _("Explicit paths specified without -i or -o; assuming --only paths..."); if (!cleanup_arg || !strcmp(cleanup_arg, "default")) -- cgit v1.2.1