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

Re: [GSOC PATCH v2] commit: avoid scanning trailing comments when 'core.commentChar' is "auto"

From
PWPhillip Wood <phillip.wood123@gmail.com>
Date
Jun 30, 2025, 08:59 UTC
Message-ID
<d25bf6c5-e56c-48d4-95b6-c714ee14ab78@gmail.com>
In-Reply-To
<CAE7as+aUcd65vPwwRh_C89vQbMjKQh0Y6LF7WDq1Whyj6iYfLg@mail.gmail.com>
Hi Ayush
On 28/06/2025 15:33, Ayush Chandekar wrote:
Show 12 quoted lines
> 
> So, my GSoC project is refactoring in order to reduce the global state
> in Git. I was trying to remove the global variables related to comment
> characters. What I tried is to create one single function which
> returns the comment string, and we could then pass a strbuf in case of
> core.commentString=auto. You can check my attempts on my fork here [2]
> (check repo_get_comment_line_str() in config.c), and also mentioned
> this in my blog [3]. I thought I had it figured out, but turns out I
> failed one test where core.commentString=auto. It was that moment I
> realised that I would need to remember the comment character or the
> strbuf in functions. Just wanted to share this in case anything
> strikes you when looking at the approach.

Thanks for that context. I'm not sure about having a single function that handles both cases. There is only one caller that cares about "auto" and the support for that has so many corner cases that don't work I'm putting a patch together to deprecate it and remove it when Git 3.0 is released.

Looking at your code it seems to break the "last one wins" between core.commentChar and core.commentString. Also deferring the parsing until the comment character is used changes the behavior of things like "git -c core.commentchar=$'\n' commit -p". Instead of erroring out straight away it will let the user carefully select what they want to commit and then die which is not very user friendly.

Keeping the current parsing logic and storing the result in struct repository might be a better approach though we should think about how commands that run without a repository will be able to access the system and user config settings.

Thanks
Phillip
Previous: Ayush ChandekarNext: Ayush Chandekar
Message 12 of 41 in “commit: avoid scanning trailing comments when 'core.commentChar' is "auto"”
  1. commit: avoid scanning trailing comments when 'core.commentChar' is "auto"Ayush Chandekar, Jun 26, 2025
  2. Junio C HamanoJun 26, 2025
  3. Ayush ChandekarJun 26, 2025
  4. Kristoffer HaugsbakkJun 26, 2025
  5. Ayush ChandekarJun 26, 2025
  6. commit: avoid scanning trailing comments when 'core.commentChar' is "auto"Ayush Chandekar, Jun 26, 2025
  7. Phillip WoodJun 27, 2025
  8. Junio C HamanoJun 27, 2025
  9. Ayush ChandekarJun 28, 2025
  10. Phillip WoodJun 28, 2025
  11. Ayush ChandekarJun 28, 2025
  12. Phillip WoodJun 30, 2025
  13. Ayush ChandekarJun 30, 2025
  14. Phillip WoodJun 28, 2025
  15. Junio C HamanoJun 30, 2025
  16. Ayush ChandekarJun 28, 2025
  17. Christian CouderJun 27, 2025
  18. commit: avoid scanning trailing comments when 'core.commentChar' is "auto"Ayush Chandekar, Jun 30, 2025
  19. Phillip WoodJul 1, 2025
  20. Ayush ChandekarJul 1, 2025
  21. Phillip WoodJul 1, 2025
  22. Ayush ChandekarJul 2, 2025
  23. Phillip WoodJul 4, 2025
  24. Ayush ChandekarJul 8, 2025
  25. Phillip WoodJul 9, 2025
  26. 0/2 commit: improve behaviour of core.commentChar=auto for comments in commit messagesAyush Chandekar, Jul 15, 2025
  27. 1/2 commit: avoid scanning trailing comments when 'core.commentChar' is "auto"Ayush Chandekar, Jul 15, 2025
  28. 2/2 config: set comment_line_str to "#" when core.commentChar=autoAyush Chandekar, Jul 15, 2025
  29. Junio C HamanoJul 15, 2025
  30. Ayush ChandekarJul 15, 2025
  31. Junio C HamanoJul 15, 2025
  32. Ayush ChandekarJul 16, 2025
  33. Junio C HamanoJul 16, 2025
  34. Phillip WoodJul 16, 2025
  35. Junio C HamanoJul 16, 2025
  36. 0/2 commit: improve behaviour of core.commentChar=auto for comments in commit messagesAyush Chandekar, Jul 16, 2025
  37. 1/2 commit: avoid scanning trailing comments when 'core.commentChar' is "auto"Ayush Chandekar, Jul 16, 2025
  38. 2/2 config: set comment_line_str to "#" when core.commentChar=autoAyush Chandekar, Jul 16, 2025
  39. Junio C HamanoJul 16, 2025
  40. Phillip WoodJul 16, 2025
  41. Junio C HamanoJul 16, 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.