Re: Feature request: Configurable prefixes for git commit --fixup and --squash
- From
John Keeping <john@keeping.me.uk>
- Date
- Mar 3, 2016, 13:21 UTC
- Message-ID
- <20160303132128.GE1766@serenity.lan>
- In-Reply-To
- <CALHmdRz3ffgifH2BZK14B=4LGFqOeTWpRarD+RAFx8AtwwMidg@mail.gmail.com>
On Thu, Mar 03, 2016 at 01:47:00PM +0100, Martine Lenders wrote:
Show 13 quoted lines
> I'm not sure if this was already requested somewhere (a quick - but > admittedly not thorough - search did not reveal anything in that > direction), but I really miss an option to configure the prefixes generated > by `git commit (--fixup | --squash) <commit>` and picked up by `git rebase > -i --autosquash`. > > My reasoning is that in our project we use GitHub + Travis to test-build > our pull requests, but we don't want to spam the CI server with builds that > are just fixups to previous changes (which are uploaded so reviewers can > track the changes to the original PR). Now, Travis has the option to not > build a commit if there is the string `[ci skip]` in the commit message > (sadly also not configurable) so it would be really great for my workflow > if I could just add this string to the message generated by `--fixup`.
I am against the feature as you describe it, because it has the potential to break `git rebase --autosquash` with shared fixups if two people are using a different prefix.
However, it sounds like Travis will recognize "[ci skip]" anywhere in the commit message. Would a feature to allow autogenerated content in fixup/squash commit message bodies work?
In fact, this can already be achieved with a prepare-commit-msg hook like this (untested, but shows the principle):
-- >8 -- #!/bin/sh case "$(head -n 1 "$1")" in "fixup! "*|"squash! "*) cat >>"$1" <<-\EOF
[ci skip] EOF esac