Hi Michael,
On Sun, 10 Apr 2016, Michael S. Tsirkin wrote:
> 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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html