[openstack-dev] Termination of the title line of commit messages

Mark McLoughlin markmc at redhat.com
Mon Jun 24 21:50:18 UTC 2013


Hey,

Pulling this out of gerrit for discussion.

Background is one of my patches to diskimage-builder was -1ed because I
terminated the title line of the commit message with a period:

  https://review.openstack.org/33262

This is actually the exact opposite to what I consider normal practice
for git commit messages as I explained in the review and the tripleo
wiki page, so I proposed a hacking change here:

  https://review.openstack.org/33789

The rationale for *not* having a period is:

  * With the 50 char limit, space is at a premium on the first line

  * The first line is often used as the Subject: in [PATCH] emails -
    subject lines in emails generally don't end in a period

  * Examples in:

      https://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_GIT_commit_message_structure

    don't end in period

    (Note - the "should not end with a period" was only added by me 
    recently)

  * Another common reference on git commit messages

      http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html doesn't either

  * In git's own git repo, 1.43% of commit messages in the last year 
    ended in a period

  * I'm not aware of any other OpenStack project which enforces this. 
    Looking at the history of various projects for the past year (and 
    excluding merge commits which don't end with a period), the use of 
    period termination runs at between 10 and 30%.

Unlike other nitpicking I tend to do with commit messages, I previously
never thought this was worth even mentioning to committers but if some
reviewers were going to start -1ing people for the *correct* style then
I figured it was best to clear it up.

Now, for Robert's comments in the review:

> It would have been nice for this to be discussed rather than dropping
> into the communal standards without warning;

I tried my best do explain why period termination is broken in the
diskimage-builder review and wiki page, so it's not like I was trying to
avoid a discussion.

In any case, if I, jogo and sdague got this wrong somehow, the mistake
is only a git-revert away from being corrected.

> the prior documentation *did not* require a period,

Yes, but the examples didn't use a period which obviously means a policy
to *require* a period is a bit bizarre.

I'm pretty confident that danpb didn't mention this when he wrote the
page because he either felt it was obvious or not worth mentioning. I've
cc-ed him to be sure.

> and the reference that was sourced that
> doesn't use them is one in the git-via-email world which is not how
> OpenStack does *any* of it's git communications, so the 'gets used
> like subject line of emails' point is entirely irrelevant.

git was born came from a git-via-email world and its usage conventions
reflect that. I raised the subject line point to try and explain how git
conventions may have arisen.

> In TripleO we have been using a period because the first line of the
> commit message acts like the first line of a docstring: it is a pithy
> description of the object it describes. Docstrings are also space
> limited, and yet PEP8 happily requires good sentence structure and
> grammar there.

It's not a docstring, though. It's a git commit message.

> tl;dr - this is an unpythonic change, and the lack of discussion is
> quite annoying.

Well, the former point is irrelevant and hopefully this email corrects
the latter point :)

Cheers,
Mark.




More information about the OpenStack-dev mailing list