Re: Template for commit messages - Mailing list pgsql-hackers

From Robert Haas
Subject Re: Template for commit messages
Date
Msg-id CA+TgmoaSu1ro7BXVYE0MwAso9MiwemGOn4n5fr1gs5doPECdGA@mail.gmail.com
Whole thread Raw
In response to Re: Template for commit messages  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Responses Re: Template for commit messages  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Re: Template for commit messages  (Christopher Browne <cbbrowne@gmail.com>)
Re: Template for commit messages  ("Greg Sabino Mullane" <greg@turnstep.com>)
List pgsql-hackers
On Fri, Jan 29, 2016 at 6:05 PM, Alvaro Herrera
<alvherre@2ndquadrant.com> wrote:
>> I think the best question to ask is:
>>
>> "What is the problem we are trying to solve?"
>
> The problem is alluring more patch reviewers, beta testers and bug
> reporters.  One of the offers is to credit them (I'm not exactly clear
> on what is the group to benefit from this, but the phrasing used in the
> meeting was "contributors to the release") by having a section somewhere
> in the release notes with a list of their names.  This proposal is
> different from the previous proposal because their names wouldn't appear
> next to each feature.
>
> So the problem, of course, is collating that list of names, and the
> point of having a commit template is to have a single, complete source
> of truth from where to extract the info.
>
> Personally I don't see value in having the commit message follow a
> machine-parseable format; like if you say "Backpatch to" instead of
> "Backpatch-through:" makes your commit message wrong.  I think what was
> being proposed is to have committers ensure that the commit messages
> always carried the necessary info (which, as far as I know, they do.)

Well, this gets at one of the problems here, which is that you can't
fix a commit message once the commit has been pushed.  So even if we
all agreed in principle to a standard format, it's not clear that you
could enforce compliance with that format to a degree sufficient to
make machine-parseability a reality.

But let's say you could somehow make it so that every commit message
was machine-parseable.  Then you could write a script which went
through the commit log since the branch point for the prior release
and extracted every name listed as a reviewer and printed them all
out.  Then you could put that in the release notes or on the project
web site someplace and say "The PostgreSQL Project thanks the
following list of people for reviewing patches during the 9.23 release
cycle".  Doing that same thing without machine-parseable commit
messages can of course also be done, but it's going to require
somebody to manually review every commit, which is a lot more work.

Similarly, you could do write a script to do things like "show me all
patches with person X as an author".  Right now that's actually kind
of hard to do, especially if that author happens to be a committer.
Or you could write a script to print out all commits from the last
week in the format: COMMITTER committed a patch from AUTHOR to do
SUMMARY, and then you could stick that into PWN, again instead of
having to do it by manually reviewing the commit message.

I'm not sure that those benefits are sufficient to justify the hassle
of trying to make a fixed template work.  But I think it's a little
strange to hear a bunch of people whose develop the world's most
advanced open source relational database system argue that structured
data is an intrinsically unused thing to have, and therefore we should
just store all of our information freeform in one very wide text
column.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Re: Proposal: Generic WAL logical messages
Next
From: Alvaro Herrera
Date:
Subject: Re: Template for commit messages