[Python-Dev] Commit messages: please avoid temporal ambiguity

Guido van Rossum guido at python.org
Mon May 9 21:17:45 CEST 2011

On Mon, May 9, 2011 at 11:36 AM, Ned Batchelder <ned at nedbatchelder.com> wrote:
> On 5/9/2011 1:24 PM, Terry Reedy wrote:
>> A commit (push) partition time and behavior into before and after (with a
>> short change period in between during which behavior is undefined).
>> Some commit messages have the form 'x does y'. Does 'does' mean before or
>> after? Sometimes that is clear. 'x crashes' means before. 'x return correct
>> value' means after. But some messages of this type are unclear to me as
>> written.
>> Consider 'x raises exception'? The temporal reference is obvious to the
>> committer but not necessary to everyone else. It could mean 'x used to
>> segfault and now raises a catchable exception'. There was a fix like this
>> (with a clear message) just today. It could also mean 'x used to raise but
>> now return an answer. There have been many fixes like this.
>> Two minimal fixes are 'x raised exception' or 'make x raise exception'.
> I've always favored "X now properly raises an exception."

While my own preference is "make X properly raise an exception" I'm
happy with any of the alternatives proposed here, and grateful to
Terry for calling this out. Checkin comments of the form "X does Y"
are ambiguous and confusing. (Same for feature requests in the

I'm curious where the habit to use the present tense comes from; I
wonder if it originates in some agile development practice?

--Guido van Rossum (python.org/~guido)

More information about the Python-Dev mailing list