git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] New commit option --fixup.
@ 2010-10-06 22:58 Rodolfo Borges
  2010-10-07  0:38 ` Pat Notz
  0 siblings, 1 reply; 4+ messages in thread
From: Rodolfo Borges @ 2010-10-06 22:58 UTC (permalink / raw)
  To: git, gitster; +Cc: Rodolfo Borges

Equivalent of '-C HEAD --amend'.
Inspired by new 'fixup' rebase -i action.

Signed-off-by: Rodolfo Borges <rodolfo.borges@gmail.com>
---
 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

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] New commit option --fixup.
  2010-10-06 22:58 [PATCH] New commit option --fixup Rodolfo Borges
@ 2010-10-07  0:38 ` Pat Notz
  2010-10-07  8:09   ` Sverre Rabbelier
  0 siblings, 1 reply; 4+ messages in thread
From: Pat Notz @ 2010-10-07  0:38 UTC (permalink / raw)
  To: Rodolfo Borges; +Cc: git, gitster

On Wed, Oct 6, 2010 at 4:58 PM, Rodolfo Borges <rodolfo.borges@gmail.com> wrote:
> Equivalent of '-C HEAD --amend'.
> Inspired by new 'fixup' rebase -i action.
>
> Signed-off-by: Rodolfo Borges <rodolfo.borges@gmail.com>
> ---
>  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@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] New commit option --fixup.
  2010-10-07  0:38 ` Pat Notz
@ 2010-10-07  8:09   ` Sverre Rabbelier
  2010-10-07  8:35     ` Ævar Arnfjörð Bjarmason
  0 siblings, 1 reply; 4+ messages in thread
From: Sverre Rabbelier @ 2010-10-07  8:09 UTC (permalink / raw)
  To: Pat Notz; +Cc: Rodolfo Borges, git, gitster

Heya,

On Thu, Oct 7, 2010 at 02:38, Pat Notz <patnotz@gmail.com> wrote:
> Why not just use an alias for this?  I do:
>
> git config alias.fixup "commit --amend -C HEAD"

I have a similar alias:

git config alias.amendall "commit --amend -a -C HEAD"

I don't think we need a command to do this, but I'm starting to think
we really should have a list of aliases either ship with git itself,
or with the git documentation.

-- 
Cheers,

Sverre Rabbelier

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] New commit option --fixup.
  2010-10-07  8:09   ` Sverre Rabbelier
@ 2010-10-07  8:35     ` Ævar Arnfjörð Bjarmason
  0 siblings, 0 replies; 4+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2010-10-07  8:35 UTC (permalink / raw)
  To: Sverre Rabbelier; +Cc: Pat Notz, Rodolfo Borges, git, gitster

On Thu, Oct 7, 2010 at 08:09, Sverre Rabbelier <srabbelier@gmail.com> wrote:
> Heya,
>
> On Thu, Oct 7, 2010 at 02:38, Pat Notz <patnotz@gmail.com> wrote:
>> Why not just use an alias for this?  I do:
>>
>> git config alias.fixup "commit --amend -C HEAD"
>
> I have a similar alias:
>
> git config alias.amendall "commit --amend -a -C HEAD"
>
> I don't think we need a command to do this, but I'm starting to think
> we really should have a list of aliases either ship with git itself,
> or with the git documentation.

FWIW that's one of the things I want to do if I pick up my .gitconfig
inclusion patch again. Have aliases files that ship with Git itself
that you can include in ~/.gitconfig.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-10-07  8:35 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-06 22:58 [PATCH] New commit option --fixup Rodolfo Borges
2010-10-07  0:38 ` Pat Notz
2010-10-07  8:09   ` Sverre Rabbelier
2010-10-07  8:35     ` Ævar Arnfjörð Bjarmason

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).