Equivalent of '-C HEAD --amend'. Inspired by new 'fixup' rebase -i action. Signed-off-by: Rodolfo Borges <rodolfo.borges@xxxxxxxxx> --- Documentation/git-commit.txt | 4 ++++ builtin/commit.c | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletions(-) diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt index 42fb1f5..faba634 100644 --- a/Documentation/git-commit.txt +++ b/Documentation/git-commit.txt @@ -180,6 +180,10 @@ You should understand the implications of rewriting history if you amend a commit that has already been published. (See the "RECOVERING FROM UPSTREAM REBASE" section in linkgit:git-rebase[1].) +--fixup:: + Like '--amend', but use previous commit message. + (Equivalent to `--amend -C HEAD`.) + -i:: --include:: Before making a commit out of staged contents so far, diff --git a/builtin/commit.c b/builtin/commit.c index 66fdd22..fd7c145 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -70,7 +70,7 @@ static const char *logfile, *force_author; static const char *template_file; 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 all, edit_flag, also, interactive, only, amend, fixup, signoff; static int quiet, verbose, no_verify, allow_empty, dry_run, renew_authorship; static int no_post_rewrite, allow_empty_message; static char *untracked_files_arg, *force_date, *ignore_submodule_arg; @@ -147,6 +147,7 @@ static struct option builtin_commit_options[] = { OPT_BOOLEAN('z', "null", &null_termination, "terminate entries with NUL"), OPT_BOOLEAN(0, "amend", &amend, "amend previous commit"), + OPT_BOOLEAN(0, "fixup", &fixup, "fixup 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" }, /* end commit contents options */ @@ -863,6 +864,11 @@ static int parse_and_validate_options(int argc, const char *argv[], if (force_author && renew_authorship) die("Using both --reset-author and --author does not make sense"); + if (fixup) { + amend = 1; + use_message = "HEAD"; + } + if (logfile || message.len || use_message) use_editor = 0; if (edit_flag) -- 1.7.2.3 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html