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>