Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Apr 2016 13:22:31 +0930
From:      "O'Connor, Daniel" <darius@dons.net.au>
To:        Glen Barber <gjb@FreeBSD.org>
Cc:        Ngie Cooper <yaneurabeya@gmail.com>, FreeBSD Hackers <freebsd-hackers@freebsd.org>
Subject:   Re: Improving commit logs
Message-ID:  <9FD838FE-E1DF-487D-82BF-77EEA2C51156@dons.net.au>
In-Reply-To: <20160414034805.GR18163@FreeBSD.org>
References:  <56FF6534-276E-4E52-871F-5567BD9D6EC7@dons.net.au> <CAGHfRMAwZ-A7BspzCqAEniyQOcy1fmL85V4wjzG0gDBq6gbjtw@mail.gmail.com> <FBAA087E-DCF3-4FB7-922D-A333AD237A23@dons.net.au> <20160414032801.GP18163@FreeBSD.org> <1DDB0BFB-545F-4293-9BFB-020DAFD7A5C4@dons.net.au> <20160414034320.GQ18163@FreeBSD.org> <2FD1641C-DF99-4464-BA34-A05430D663C4@dons.net.au> <20160414034805.GR18163@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

> On 14 Apr 2016, at 13:18, Glen Barber <gjb@FreeBSD.org> wrote:
>=20
> On Thu, Apr 14, 2016 at 01:14:46PM +0930, O'Connor, Daniel wrote:
>>=20
>>> On 14 Apr 2016, at 13:13, Glen Barber <gjb@FreeBSD.org> wrote:
>>> I absolutely agree with you that a guide on this will be beneficial.
>>> Sorry if my reply was taken any other way.
>>>=20
>>> If I had a genie in a bottle, my three wishes would be:
>>>=20
>>> 1) Better commit messages that address the "what";
>>> 2) Better explanation on the "why";
>>=20
>> Huh interesting, I definitely would pick 2 before 1 but I can see
>> what you mean for a lot of commits (especially to 30 year old cruft
>> filled esoterica)
> When writing release notes, for example, the "what" is generally more
> useful than the "why."  In other words, the end user does not =
generally
> care *why* something changed, but they want to know *what* changed.

That's a good point, my original version was written more in the mind of =
someone who understands the code already but as you (and ngie) point out =
there are other consumers of the code.

=3D=3D=3D=3D=3D SNIP =3D=3D=3D=3D=3D
This section contains some suggestions and traditions for how commit =
logs are formatted and what they should contain.

A commit log should explain *why* a commit has taken place, *what* was =
changed and to a lesser degree *how*.

The why of a commit message is absolutely critical to allow other people =
(including your future self) to understand the reason a change was made.

The how can be skipped if it is obvious - it's left as an exercise to =
the reader to determine what obvious is. You should try and step into =
the mind set of someone who is familiar with FreeBSD but not focussed on =
the particular area you have committed to. What is obvious now can be =
obtuse in a few months when you or someone else is reviewing the code to =
track down issues. The commit logs are used by more people that just =
other developers - they are used to develop tests and release notes as =
well.

Generally speaking *how* is obvious due to the diff itself assuming you =
have used enough comments, but clever tricks should probably be =
explained (or commented in the code).

Due to the use of git and use of svn blame it is highly desirable to =
have a 1 line summary of the commit, however do not think this means you =
only need a 1 line summary. Write the full log first, then summarise it =
if possible. If you aren't sure, err on the side of a longer rather than =
shorter commit message.

As well as including an informative message with each commit you may =
need to include some additional information.

=3D=3D=3D=3D=3D SNIP =3D=3D=3D=3D=3D
>>> 3) More wishes.
>>=20
>> You wish for more genies, wishing for more wishes is usually
>> verboten.. ;)
>=20
> I also want a pony.  :)

D'awwww :)

--
Daniel O'Connor
"The nice thing about standards is that there
are so many of them to choose from."
 -- Andrew Tanenbaum
GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9FD838FE-E1DF-487D-82BF-77EEA2C51156>