[Top][All Lists]
[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