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



On Mon, 2007-09-17 at 13:20 +0100, Gustavo J. A. M. Carneiro wrote:
> On Seg, 2007-09-17 at 10:49 +0100, Emmanuele Bassi wrote:
> > On Mon, 2007-09-17 at 11:36 +0200, Sebastien Bacher wrote:
> > > Le samedi 15 septembre 2007 à 18:19 -0400, Behdad Esfahbod a écrit :
> > > 
> > > > Of course no project using git maintains ChangeLog.
> > > 
> > > Why? You could update the ChangeLog when commiting changes on git
> > 
> > what's the point? a ChangeLog is useful for people that do not have
> > access to the repository and to the history of the project. if you clone
> > a git repository you have the full history, with the ability to see each
> > commit complete of a diff and a summary (this is also why listing all
> > the functions that have been touched by the commit is pretty much
> > useless).
> 
> It should also be emphasized that maintaining a ChangeLog file under
> version control *gets in the way* of branching and merging.  That little
> detail seems to ellude everyone's grasp, for some reason.
> 
>   Having a ChangeLog file under version control not only means that you
> have to duplicate information in every commit (once in changelog, once
> in commit log message), but also that you will almost always get
> conflicts when merging branches.
> 
>   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.

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.

Writing your changes to a file is a really simple task, but its
a task none the less and IMO it should at least be a task, makeing
things simpler than they already are could only result in carelessly
written commit messages (i.e. that dont even include the files &
functions that they effect etc.).

I get my own spot of lazyness though ;-) I just copy paste my
ChangeLog entry right into the commit log.

Oh, and here's another point nobody mentioned about changelogs,
when people who dont have access to commit to the repository 
(probably 50% of patches ?) - they should always include ChangeLog
entries in thier patches :)

Cheers,
                  -Tristan





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