git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Feature request: Configurable prefixes for git commit --fixup and --squash

From
John Keeping <john@keeping.me.uk>
Date
Mar 3, 2016, 14:44 UTC
Message-ID
<20160303144438.GF1766@serenity.lan>
In-Reply-To
<CALHmdRwgDjRJMQSPzp34aS25ZHg-mr458QeyYgyp85q8g34Aig@mail.gmail.com>
[please don't top post on this list]
On Thu, Mar 03, 2016 at 03:33:34PM +0100, Martine Lenders wrote:
> yes, it can be anywhere in the commit message and I already thought
> about using a hook for generating the commit message too, but the
> problem is then, that `git rebase` won't pair up the commit for
> squashing/fixing up with the original commit.

Huh? With the hook below you just run `git commit --fixup=...` as normal and it appends a "[ci skip]" line to the bottom of the commit message.

Show 37 quoted lines
> Am 03.03.2016 14:21 schrieb "John Keeping" <john@keeping.me.uk>:
> >
> > On Thu, Mar 03, 2016 at 01:47:00PM +0100, Martine Lenders wrote:
> > > 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
Previous: Martine LendersNext: Matthieu Moy
Message 7 of 12 in “Feature request: Configurable prefixes for git commit --fixup and --squash”
  1. Martine LendersMar 3, 2016
  2. John KeepingMar 3, 2016
  3. Matthieu MoyMar 3, 2016
  4. Martine LendersMar 3, 2016
  5. Matthieu MoyMar 3, 2016
  6. Martine LendersMar 3, 2016
  7. John KeepingMar 3, 2016
  8. Matthieu MoyMar 3, 2016
  9. Martine LendersMar 3, 2016
  10. Matthieu MoyMar 3, 2016
  11. Junio C HamanoMar 3, 2016
  12. Matthieu MoyMar 3, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.