[Mono-list] CVS contributors.

Miguel de Icaza miguel@ximian.com
30 Jul 2001 00:39:14 -0400


> This makes it sound as if you have both a ChangeLog _and_ the CVS commit
> logs... why bother having the ChangeLog when you can automatically generate
> it from the CVS commit logs (especially seeing that you are advocating that
> they be the same thing)?

This is a good question.

There are a number of reasons for keeping ChangeLog files as well as
CVS commit files:

	* Offline programming: when people are traveling, CVS logs are
          not available.

	* Slow CVS access: Many people work over modem lines (very
          typical for contributors in Europe, Asia, Latin America)
          using CVS is slow and might not be available to you (cvs
          server down, no anoncvs server available).

	* ChangeLogs travel in a released tarball package, so it is
	  possible to study the rationale of changes even after a
	  project is long "released", or you only have the sources for
	  the code. 

	* ChangeLog are not metadata for each file, they are live
          files that you can browse in the package that is being
          distributed. 

Making the CVS commit message be the same as the ChangeLog has other
benefits:

	* You can track down with `cvs log' what things were changed,
          and match those to meaningful reports on the intentions of
          the commit.

	* When reading the commits-list, you can get a glimpse of the
          changes without having to diff out or cvs update your tree.

	* You can read off-line the changes that are being made
          (asyncrouns operation).

This mechanism works very well for GNOME and other projects.

Best wishes,
Miguel.