ChangeLogging commits to CVS

Keith Whitwell keith at tungstengraphics.com
Tue Dec 14 04:52:56 PST 2004


Mathieu Lacage wrote:
> On Tue, 2004-12-14 at 10:56 +0000, Keith Whitwell wrote:
> 
>>Is there a reason why the ChangeLog entry can't be generated automatically 
>>from the CVS commit messages?  Am I missing something here?
> 
> 
> I can remember a lengthy discussion on that specific topic for certain
> modules of the gnome cvs server which refused to use ChangeLog files and
> relied on cvs to generate them from cvs commits. The result of the
> discussions:
> 	- people are lazy and use stupid cvs commit messages. A separate
> ChangeLog file helps them stay honest

I can see that being the case in some projects, but I think the quality of CVS 
commit messages on Xorg has been pretty good - or has it?

> 	- some people like to browse the file offline which is not possible if
> it must be generated from the CVS metadata.

I don't think that going to the CVS metatdata is an option as then you'd lose 
the point of the ChangeLog file (as described in a previous post) of 
describing groups of single file changes atomically.

I'm suggesting that the ChangeLog file continue as is, just be populated from 
the CVS scripts rather than by hand.  I believe the suggestion is already that 
the same message be used in both instances, but currently it is a 'by hand' or 
partially-automated task to do this.

By populating ChangeLog automatically, you could potentially increase its 
utility by logging the version numbers associated with each file in the 
commit.  Of course, at a certain point down this road you end up inventing a 
new version control system.

> 	- people do not like to rely on the unreliable CVS commit scripts to
> generate a single ChangeLog on the server because commits are not atomic
> so the ChangeLog file would contain commit collisions.

How frequently do we see non-serializable commits on Xorg?  Does this really 
happen?  Do developers in practice commit simultaneously to overlapping sets 
of files in such a way that the changes become interleaved?  Would it matter 
(from the perspective of the ChangeLog) if they did?

Acutally, by including the ChangeLog file in every commit, you guarantee a 
strong serialization of changes across the repository, I think.


Keith



More information about the xorg mailing list