Re: [PATCH 1/6] SubmittingPatches: clarify expected structure of commit log message
- From
Michael Montalbo <mmontalbo@gmail.com>
- Date
- Jul 12, 2026, 20:26 UTC
- Message-ID
- <CAC2QwmL05MbVS=jtk7ARj6jJUT461Ws7BcYqUAUrywvDDXjJqg@mail.gmail.com>
- In-Reply-To
- <20260711192650.2417665-2-gitster@pobox.com>
On Sat, Jul 11, 2026 at 12:27 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 5 quoted lines
> > +2. **Solution (The Approach)**: > + Justify the way your change solves the problem. Explain why the > + proposed approach is better and mention any alternate solutions > + considered and discarded.
Slight reflow suggestion (answers the question "better than what?" and is more concise):
"Explain why the proposed approach is better than any alternate solutions that were considered and discarded."
Show 10 quoted lines
> ++ > +If your change only addresses a subset of a larger problem (e.g., > +handles directories but not files because of characteristic Y), > +explain this limitation. This helps future developers understand the > +boundaries of your work and whether it can be safely extended. > ++ > +If the change resolves design or viability concerns raised by the > +community during prior review rounds, ensure the message records the > +resolution, explaining why the chosen approach was accepted over > +alternatives.
In the spirit of paring down text, this last section seems to overlap with the prior "alternative solutions considered" blurb above. Maybe they can be combined?
> + > +3. **Command (The Instruction)**:
"Command" reads a bit awkwardly to me. I think something about "Implementation" or another phrase that distinguishes between the mechanics of the change and the design of the change might be more clear.
Show 22 quoted lines
> + [[imperative-mood]] > + Command the codebase to change. Write this in the **imperative > + mood** (e.g., "make xyzzy do frotz" instead of "This patch makes > + xyzzy do..." or "I changed xyzzy..."), as if you are giving orders > + to the codebase to change its behavior. > + > +#### Formatting and Style Guidelines > + > +* **The Subject Line (First Line)**: > + * Keep it short (50 characters is the soft limit). > + * Skip the full stop at the end. > + * Prefix the subject with the modified area followed by a colon > + and a space (e.g., "area: subject"). The area is typically a > + filename or identifier (e.g., `doc:`, `transport:`, `t5601:`). > + Run `git log --no-merges` on target files to see conventions. > + * [[summary-section]] > + Do not capitalize the first word after the "area:" prefix unless > + there is a specific reason (e.g., `HEAD` is always in caps). > + E.g., use "doc: clarify...", not "doc: Clarify...". > + > +* **The Body**: > + * Explain the *why* rather than repeating the *what* of the diff.
I think collapsing the "Formatting and Style Guidelines" section with the above would be clearer than having a separate section. The content prior to this section mixes "content" and "formatting" guidelines so maybe those concepts could be explicitly delineated and the advice in this section could be co-located with the commit message component it is related to above. That might also help eliminate some redundancy (i.e., another reference to "why vs. what").
Some more general feedback: maybe examples of well vs. poorly formed components would help distill the advice for a reader.
Overall, I think reducing the amount of text a contributor needs to read in order to get up to speed is a very worthwhile endeavor, so thank you!