From: Junio C Hamano <gitster@pobox.com>
To: Charvi Mendiratta <charvi077@gmail.com>
Cc: git@vger.kernel.org, christian.couder@gmail.com,
phillip.wood123@gmail.com,
Christian Couder <chriscool@tuxfamily.org>,
Phillip Wood <phillip.wood@dunelm.org.uk>
Subject: Re: [PATCH 6/6] doc/git-commit: add documentation for fixup[amend|reword] options
Date: Thu, 18 Feb 2021 11:23:17 -0800 [thread overview]
Message-ID: <xmqqlfblfae2.fsf@gitster.g> (raw)
In-Reply-To: <20210217073725.16656-6-charvi077@gmail.com> (Charvi Mendiratta's message of "Wed, 17 Feb 2021 13:07:25 +0530")
Charvi Mendiratta <charvi077@gmail.com> writes:
> Mentored-by: Christian Couder <chriscool@tuxfamily.org>
> Mentored-by: Phillip Wood <phillip.wood@dunelm.org.uk>
> Signed-off-by: Charvi Mendiratta <charvi077@gmail.com>
> ---
> Documentation/git-commit.txt | 39 ++++++++++++++++++++++++++++++------
> Documentation/git-rebase.txt | 21 ++++++++++---------
> 2 files changed, 44 insertions(+), 16 deletions(-)
>
> diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt
> index 17150fa7ea..9a60876845 100644
> --- a/Documentation/git-commit.txt
> +++ b/Documentation/git-commit.txt
> @@ -9,7 +9,7 @@ SYNOPSIS
> --------
> [verse]
> 'git commit' [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]
> - [--dry-run] [(-c | -C | --fixup | --squash) <commit>]
> + [--dry-run] [(-c | -C | --squash) <commit> | --fixup [(amend|reword):]<commit>)]
> [-F <file> | -m <msg>] [--reset-author] [--allow-empty]
> [--allow-empty-message] [--no-verify] [-e] [--author=<author>]
> [--date=<date>] [--cleanup=<mode>] [--[no-]status]
> @@ -86,11 +86,38 @@ OPTIONS
> Like '-C', but with `-c` the editor is invoked, so that
> the user can further edit the commit message.
>
> ---fixup=<commit>::
> - Construct a commit message for use with `rebase --autosquash`.
> - The commit message will be the subject line from the specified
> - commit with a prefix of "fixup! ". See linkgit:git-rebase[1]
> - for details.
> +--fixup=[(amend|reword):]<commit>::
> + When used without options, lets's say `git commit --fixup=<commit>`,
> + it creates a "fixup!" commit where the commit message will be
> + the subject line from the specified commit with a prefix of
> + "fixup! ". The resulting "fixup!" commit is further used with
> + `git rebase --autosquash` to fixup the content of the specified
> + commit.
> +
> + When used with option `amend`, let's say
> + `git commit --fixup=amend:<commit>`, it creates a "amend!" commit
> + to fixup both the content and the commit log message of the
> + specified commit. The resulting "amend!" commit's commit message
> + subject will be the subject line from the specified commit with a
> + prefix of "amend! " and the message body will be commit log message
> + of the specified commit. It also invokes an editor seeded with the
> + "amend!" commit log message to allow to edit further. And it denies
> + to create "amend!" commit if it's commit message body is empty unless
> + used with `allow-empty-message` option. "amend!" commit when rebased
> + with `--autosquash` will fixup the contents and replace the commit
> + message of the specified commit with the "amend!" commit's message
> + body.
> +
> + When used with alternative option `reword`, let's say
> + `git commit --fixup=reword:<commit>`, it works similar to `amend`
> + option, but here it creates an empty "amend!" commit, i.e it does
> + not take any staged changes and only allows to fixup the commit
> + message of the specified commit. It will reword the specified
> + commit when it is rebased with `--autosquash`.
> +
> + `--fixup`, with or without option, can be used with additional
> + commit message option `-m` but not with `-F`/`-c`/`-C`. See
> + linkgit:git-rebase[1] for details.
You must dedent the second and the subsequent paragraphs and replace
each of these blank lines that mark inter-paragraph breaks with a
line with a single plus '+' sign on it. See how "is mutually
exclusive" explanation is appended to the description of "-m" as its
second paragraph.
Side note. It probably needs "exclusive -> incompatible".
The description in git-rebase.txt you touched is another good
example. Mimic the way its second paragraph "If the autosquash is
enabled..." is formatted.
Thanks.
> --squash=<commit>::
> Construct a commit message for use with `rebase --autosquash`.
> diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
> index 8bfa5a9272..ffea76e53b 100644
> --- a/Documentation/git-rebase.txt
> +++ b/Documentation/git-rebase.txt
> @@ -593,16 +593,17 @@ See also INCOMPATIBLE OPTIONS below.
>
> --autosquash::
> --no-autosquash::
> - When the commit log message begins with "squash! ..." (or
> - "fixup! ..."), and there is already a commit in the todo list that
> - matches the same `...`, automatically modify the todo list of rebase
> - -i so that the commit marked for squashing comes right after the
> - commit to be modified, and change the action of the moved commit
> - from `pick` to `squash` (or `fixup`). A commit matches the `...` if
> - the commit subject matches, or if the `...` refers to the commit's
> - hash. As a fall-back, partial matches of the commit subject work,
> - too. The recommended way to create fixup/squash commits is by using
> - the `--fixup`/`--squash` options of linkgit:git-commit[1].
> + When the commit log message begins with "squash! ..." (or "fixup! ..."
> + or "amend! ..."), and there is already a commit in the todo list that
> + matches the same `...`, automatically modify the todo list of
> + `rebase -i`, so that the commit marked for squashing comes right after
> + the commit to be modified, and change the action of the moved commit
> + from `pick` to `squash` (or `fixup` or `fixup -C`) respectively. A commit
> + matches the `...` if the commit subject matches, or if the `...` refers
> + to the commit's hash. As a fall-back, partial matches of the commit
> + subject work, too. The recommended way to create fixup/squash/amend
> + commits is by using the `--fixup=[amend|reword]`/`--squash` options of
> + linkgit:git-commit[1].
> +
> If the `--autosquash` option is enabled by default using the
> configuration variable `rebase.autoSquash`, this option can be
next prev parent reply other threads:[~2021-02-18 19:34 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-17 7:29 [PATCH 0/6][Outreachy] commit: Implementation of "amend!" commit Charvi Mendiratta
2021-02-17 7:37 ` [PATCH 1/6] sequencer: export subject_length() Charvi Mendiratta
2021-02-17 7:37 ` [PATCH 2/6] commit: add amend suboption to --fixup to create amend! commit Charvi Mendiratta
2021-02-17 19:49 ` Junio C Hamano
2021-02-18 10:13 ` Charvi Mendiratta
2021-02-18 19:18 ` Junio C Hamano
2021-02-18 20:37 ` Junio C Hamano
2021-02-19 6:10 ` Charvi Mendiratta
2021-02-19 6:09 ` Charvi Mendiratta
2021-02-20 3:15 ` Junio C Hamano
2021-02-21 6:35 ` Charvi Mendiratta
2021-02-21 7:05 ` Junio C Hamano
2021-02-21 9:20 ` Charvi Mendiratta
2021-02-22 17:35 ` Junio C Hamano
2021-02-23 6:05 ` Charvi Mendiratta
2021-02-17 7:37 ` [PATCH 3/6] commit: add a reword suboption to --fixup Charvi Mendiratta
2021-02-17 19:56 ` Junio C Hamano
2021-02-18 10:14 ` Charvi Mendiratta
2021-02-17 7:37 ` [PATCH 4/6] t7500: add tests for --fixup[amend|reword] options Charvi Mendiratta
2021-02-17 19:59 ` Junio C Hamano
2021-02-18 10:15 ` Charvi Mendiratta
2021-02-18 19:26 ` Junio C Hamano
2021-02-19 6:10 ` Charvi Mendiratta
2021-02-17 7:37 ` [PATCH 5/6] t3437: use --fixup with options to create amend! commit Charvi Mendiratta
2021-02-17 7:37 ` [PATCH 6/6] doc/git-commit: add documentation for fixup[amend|reword] options Charvi Mendiratta
2021-02-18 19:23 ` Junio C Hamano [this message]
2021-02-19 6:09 ` Charvi Mendiratta
2021-02-23 19:55 ` [PATCH 0/6][Outreachy] commit: Implementation of "amend!" commit Junio C Hamano
2021-02-24 5:54 ` Charvi Mendiratta
2021-02-25 10:08 ` [PATCH v2 " Charvi Mendiratta
2021-02-25 10:08 ` [PATCH v2 1/6] sequencer: export subject_length() Charvi Mendiratta
2021-02-25 10:08 ` [PATCH v2 2/6] commit: add amend suboption to --fixup to create amend! commit Charvi Mendiratta
2021-02-25 21:00 ` Junio C Hamano
2021-02-26 10:38 ` Charvi Mendiratta
2021-02-26 19:32 ` Junio C Hamano
2021-02-27 4:56 ` Charvi Mendiratta
2021-02-25 10:08 ` [PATCH v2 3/6] commit: add a reword suboption to --fixup Charvi Mendiratta
2021-02-25 20:32 ` Junio C Hamano
2021-02-26 10:35 ` Charvi Mendiratta
2021-02-25 10:09 ` [PATCH v2 4/6] t7500: add tests for --fixup=[amend|reword] options Charvi Mendiratta
2021-02-25 10:09 ` [PATCH v2 5/6] t3437: use --fixup with options to create amend! commit Charvi Mendiratta
2021-02-25 10:09 ` [PATCH v2 6/6] doc/git-commit: add documentation for fixup=[amend|reword] options Charvi Mendiratta
2021-02-25 20:48 ` Junio C Hamano
2021-02-26 10:36 ` Charvi Mendiratta
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqlfblfae2.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=charvi077@gmail.com \
--cc=chriscool@tuxfamily.org \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=phillip.wood123@gmail.com \
--cc=phillip.wood@dunelm.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.