monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] Question about changelogs


From: Nathaniel Smith
Subject: Re: [Monotone-devel] Question about changelogs
Date: Thu, 23 Dec 2004 23:22:29 -0800
User-agent: Mutt/1.5.6+20040907i

On Thu, Dec 23, 2004 at 05:48:46PM +0100, Julio M. Merino Vidal wrote:
> Hi all,
> 
> I thought ChangeLog files were used to mitigate the lack of atomic commits
> in CVS (i.e., to document changes done in a single commit together), or in
> projects that didn't use any version control system at all.
> 
> But I was surprised to see that there is one of these in monotone's
> repository too, and even worse, that it's maintained by hand.  IMVHO,
> these files only repeat information that's already stored in the
> repository history, and often miss details.
> 
> Indeed, they are useful to have in releases, because the end user can
> check with great detail what has changed since the previous version.
> But... I feel they could be very easily generated by the vcs (in this
> case, monotone), instead of beeing written manually, thus reducing
> redundancy.  So... my question: is it there any strong reason for this?
> (aside "monotone can't generate changelogs (yet)" ;).

Well, I don't know exactly why we have a ChangeLog (the real answer
may be "it was already there when we started being self-hosting").
But I can think of a few reasons why one might want a ChangeLog even
if one has a better-than-cvs VCS.
  - ChangeLogs are easier to grep than VCS logs
  - in Monotone, ChangeLogs don't touch on trust issues, while commit
    messages are certs and thus involve keys
  - ChangeLogs are versioned -- I can fix typos in ChangeLogs.
    They're also generally parseable, while we can't trust commit
    messages to be -- this is related because if you want to make your
    tools depend on people getting a data format right, you have to
    have some solution when they get it wrong.
  - In fact, in general they're a little less coupled to what VCS
    operations you performed as compared to what logical changes you
    made.  E.g., if I commit a patch from someone, I can stick their
    name on the ChangeLog even though the commit will be listed as
    coming from me.  (And if I commit several patches together, I can
    list several people in the ChangeLog).
  - Probably the biggest reason: ChangeLog's have a lot of tradition
    behind them :-).  They're required by the GNU coding standards,
    functions for manipulating them built into emacs, ...
But probably other people can list more times when they're useful, I
really haven't worked on projects with ChangeLogs that much.

-- Nathaniel

-- 
.i dei jitfa fanmo xatra




reply via email to

[Prev in Thread] Current Thread [Next in Thread]