On Wed, Oct 6, 2010 at 4:58 PM, Rodolfo Borges <rodolfo.borges@xxxxxxxxx> wrote: > 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`.) > + Why not just use an alias for this? I do: git config alias.fixup "commit --amend -C HEAD" Also, I've been working on --fixup and --squash options for commit, under the same inspiration. See, http://thread.gmane.org/gmane.comp.version-control.git/156883 I'm hoping to submit v5 patch series tomorrow night. > -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 > -- 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