Re: Why have a ChangeLog file if you already have commit messages?

On Mon, 2007-09-17 at 09:51 -0400, Tristan Van Berkom wrote:
> >   The ChangeLog therefore throws away one of the biggest advantages of
> > DSCM, which is not only offering decentralized source control, or very
> > fast commits, but also much more intelligent branching and merging when
> > compared to CVS or Subversion.
> I've never seen a merge conflict in a ChangeLog that wasnt /really/ easy
> to resolve - usually I just include both different portions unless I've
> been backporting fixes to a stable branch in which case some cherry
> picking is needed.

not when you're merging a branch that might span a development cycle.
making a merge work in that case is so frustrating that the current
approach is to simply fill out a secondary ChangeLog with the branch
changes and then add it to "trunk" (HEAD or whatever).

> ChangeLogs from my experience are always better than commit logs
> probably /because/ its a revisioned file; i.e. people care about
> the quality of the changelog, because they have to reffer to it
> when fixing bugs etc - its actually part of the product.

I thought about it in the exact same terms - a ChangeLog is something
surely more interesting than reading a NEWS file.

but then I found myself writing more interesting commit logs, often very
long, detailing what and why I did something, more free form than what I
usually do in ChangeLogs (because of the formatting rules and the fact
that most of the space gets stolen away by the functions and files

as for bugs: the patchsets I sometime attach to bugs via
git-send-bugzilla contain not only the patches but a short description
of each one of them, and it's much better than a single ChangeLog entry.

this would work with SVN as well - as, unlike CVS, a commit is atomic -
and I often though about dropping the ChangeLog requirement for the
stuff I maintain. the only remaining bit would be merging, but we all
know that SVN is not very good at that either.


Emmanuele Bassi,

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]