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

Re: .clang-format: how useful, how often used, and how well maintained?

From
Jeff King <peff@peff.net>
Date
Jun 21, 2025, 05:07 UTC
Message-ID
<20250621050743.GA3007684@coredump.intra.peff.net>
In-Reply-To
<CAP8UFD27tQ3uhQW5zkPfFZSF=3FGEmi-rBYu3A_zZ8oNbUiNag@mail.gmail.com>
On Fri, Jun 20, 2025 at 04:08:32PM +0200, Christian Couder wrote:
Show 8 quoted lines
> > A post-commit hook that does *not* prevent your changes that do not
> > pass the "style-check" from getting committed, but does give you a
> > feedback that let you consider before moving forward?
> 
> It's up to each one to decide if they prefer post-commit or pre-commit
> hooks or other ways to trigger the style check. So yeah, we could both
> suggest using hooks and add a format-patch option to make it easier
> for those who don't want a hook.

I'm not sure I would want to make changes at the format-patch stage. If I am adjusting commits, I'd want those changes in my local commits, too. Then they'd be there if I re-roll, etc (plus they'd actually be tested when I run "make test"!). Ditto for folks using GGG, where they need to push the fully-realized commits.

My ideal workflow would probably be taking a pass with:
  git rebase -x 'git clang-format --style=file -p HEAD^ || git commit --no-edit --amend -a'

is a better match. That command is a bit of a mouthful, but we could perhaps roll it into a script or a Makefile target. The current "make style" only looks at uncommitted changes in the working tree (and of course isn't interactive).

The big pain I see in this (or any other workflow) is getting bugged about suggestions you've rejected. In an ideal world we'd tune .clang-format so that all of its suggestions are good, but I don't think we're there yet. ;)

-Peff
Previous: Junio C HamanoNext: Junio C Hamano
Message 6 of 18 in “.clang-format: how useful, how often used, and how well maintained?”
  1. Junio C HamanoJun 19, 2025
  2. Christian CouderJun 19, 2025
  3. Junio C HamanoJun 20, 2025
  4. Christian CouderJun 20, 2025
  5. Junio C HamanoJun 20, 2025
  6. Jeff KingJun 21, 2025
  7. Junio C HamanoJun 22, 2025
  8. brian m. carlsonJun 19, 2025
  9. Collin FunkJun 19, 2025
  10. brian m. carlsonJun 19, 2025
  11. Junio C HamanoJun 20, 2025
  12. Toon ClaesJul 1, 2025
  13. Johannes SchindelinJul 1, 2025
  14. Junio C HamanoJul 1, 2025
  15. Junio C HamanoJul 1, 2025
  16. Karthik NayakJun 23, 2025
  17. Junio C HamanoJun 23, 2025
  18. Karthik NayakJun 24, 2025

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.