mbox series

[0/3] commit: add an option to reword the last commit

Message ID pull.736.git.1600695050.gitgitgadget@gmail.com (mailing list archive)
Headers show
Series commit: add an option to reword the last commit | expand

Message

Elijah Newren via GitGitGadget Sept. 21, 2020, 1:30 p.m. UTC
If one notices a typo in the last commit after starting to stage changes for
the next commit it is useful to be able to reword the last commit without
changing its contents. Currently the way to do that is by specifying --amend
--only with no pathspec which is not that obvious to new users (so much so
that before beb635ca9c ("commit: remove 'Clever' message for --only
--amend", 2016-12-09) commit printed a message to congratulate the user on
figuring out how to do it). If the last commit is empty one has to pass
--allow-empty as well even though the contents are not being changed. These
patches contain a couple of small clean ups for the commit documentation add
a --reword option for commit that rewords the last commit without changing
its contents.

Phillip Wood (3):
  commit docs: use backquotes when quoting options
  commit: reorder synopsis
  commit: add an option the reword HEAD

 Documentation/git-commit.txt          | 30 +++++++++-----
 builtin/commit.c                      | 46 +++++++++++++++++++++-
 t/t7501-commit-basic-functionality.sh | 56 +++++++++++++++++++++++++++
 3 files changed, 121 insertions(+), 11 deletions(-)


base-commit: 54e85e7af1ac9e9a92888060d6811ae767fea1bc
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-736%2Fphillipwood%2Fwip%2Fcommit-reword-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-736/phillipwood/wip/commit-reword-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/736

Comments

Junio C Hamano Sept. 21, 2020, 4:15 p.m. UTC | #1
"Phillip Wood via GitGitGadget" <gitgitgadget@gmail.com> writes:

> If one notices a typo in the last commit after starting to stage changes for
> the next commit it is useful to be able to reword the last commit without
> changing its contents. Currently the way to do that is by specifying --amend
> --only with no pathspec which is not that obvious to new users (so much so
> that before beb635ca9c ("commit: remove 'Clever' message for --only
> --amend", 2016-12-09) commit printed a message to congratulate the user on
> figuring out how to do it).

;-)

"git commit --only --amend" could already be read as an instruction
that "I am only amending without changing anything else", but I
agree that the new --reword verb is a good addition.

The only comment I had on the series was that the mutual-exclusivity
logic looked a bit fragile against feature evolution of the command,
but I have no concrete suggestion to make it more robust against
time.