Re: [PATCH 1/4] rebase -i: add ack action
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Apr 11, 2016, 11:02 UTC
- Message-ID
- <alpine.DEB.2.20.1604111239100.2967@virtualbox>
- In-Reply-To
- <1460296343-17304-2-git-send-email-mst@redhat.com>
Hi Michael,
On Sun, 10 Apr 2016, Michael S. Tsirkin wrote:
Show 23 quoted lines
> This implements a new ack! action for git rebase -i > It is essentially a middle ground between fixup! and squash!: > - commits are squashed silently without editor being started > - commit logs are concatenated (with action line being discarded) > - because of the above, empty commits aren't discarded, > their log is also included. > > I am using it as follows: > git am -s < mailbox #creates first commit > hack ... > get mail with Ack > git commit --allow-empty -m `cat <<-EOF > ack! first > > Acked-by: maintainer > EOF` > repeat cycle > git rebase --autosquash -i origin/master > before public branch push > > The "cat" command above is actually a script that > parses the Ack mail to create the empty commit - > to be submitted separately.
This looks awfully complicated, still, and not very generic.
How about making it easier to use, and much, much more generic, like this?
1. introducing an `--add-footer` flag to `git commit` that you could use like this:
git commit --amend --add-footer "Acked-by: Bugs Bunny"
2. introducing an `--exec-after` flag to `git commit` that would be a new sibling of `--fixup` and `--squash` and would work like this:
git commit --exec-after HEAD~5 \ 'git commit --amend --add-footer "Acked-by: Bugs Bunny"'
(it should imply `--allow-empty`, of course, and probably even fail if anything was staged for commit at that point.) The commit message would then look something like
exec-after! Fix broken breakage
git commit --amend --add-footer "Acked-by: Bugs Bunny"
This way would obviously benefit a lot more users. For example, you could easily say (and alias)
git commit --amend --add-footer 'Reviewed-by: Arrested Developer"
i.e. support all kind of use cases where developers need to slap on footers in a quick & easy way.
And the --exec-after option would obviously have *a lot* more use cases than just squashing in ACKs.
Ciao, Johannes