Doing away with changelogs
jhutz at cmu.edu
Mon Apr 17 14:53:26 EDT 2006
On Friday, April 07, 2006 04:13:02 PM -0400 Sam Hartman <hartmans at mit.edu>
> Folks, as we have been using Subversion and branches more, we've been
> determining that ChangeLog files are hard to deal with in the following
> * It is hard to merge them to/from branches
> * Outside developers tend not to update them
> * They tend to repeat a lot of information in subversion logs.
> Ken and I would like to consider the possibility of dropping all the
> ChangeLog files from the trunk. If we do this we'd need to make sure
> that merges contained enough log information that you know what has
> changed. In particular, if you merge something onto a branch, you
> would want to include the subversion log of the things you are
> merging. Similarly if you merge a bunch of development onto the
> trunk, include a possibly edited version of that information in the
> subversion log on the trunk.
> I'd like to seek comments on this proposal.
I've been told I might not have been sufficiently clear on my position.
For me, the value of a ChangeLog in a source release is to make it easy for
me to find out what has changed since the last release, or some earlier
release (because I might not download every release). It's most useful if
that information is expressed in a way that's accurate and easy to read.
It's a big win if the information is still available when I look at a
source release years later, and if it is available to me even when I don't
have connectivity to the Internet.
For those uses...
- An automatically-generated log is superior to a manually-maintained one.
- A global ChangeLog is superior to per-directory logs
- A copy of a ChangeLog is superior to a reference to one.
It seems to me like eliminating manually-maintained per-directory ChangeLog
files would be a big win, because it would not only reduce the maintenance
burden but also increase both accuracy and ease of use.
However, I also think that it would be a big win for source distributions
to include a copy of a ChangeLog file which is generated automatically
based on the subversion logs. Such a file would collect all the
information in one place, and increase its accessibility to people
separated from the svn server in time and/or space.
More information about the krbdev