immutable commit messages, why?
Stuart McGraw
smcg4191 at frii.com
Wed Mar 19 19:53:53 CDT 2008
Martin Geisler wrote:
> Stuart McGraw <smcg4191 at frii.com> writes:
>
>> I suspect the real reason commit messages are revision controlled is
>> that DVCS' have a hammer for managing immutable revisions and it was
>> more expedient (and seemed cool) to shape commit messages into the
>> form of a revision nail, than to invent a whole separate mechanism for
>> managing them. And that poor commit messages aren't a show-stopper
>> problem for most users so they are simply lived with.
>
> I think it *is* cool to make all the meta data be part of the commit.
> Given one changeset hash (which I trust) I know that every commit
> message is trustworthy.
Do you know that? Even if your definition of trustworthy
is that it hasn't been changed after it was commited, how
do you know, when you accept a changeset from "me", that
my machine wasn't compromised, etc. Whatever guaranties
you have are provided outside of Mercurial, yes?
And I would prefer a higher standard of trustworthiness:
that a commit message accurately describes a changeset.
Immutable commit messages are a barrier to achieving that.
>> I can imagine a DVCS where the commit message do not participate in
>> the revision hashes and have a timestamp or independent hash. When a
>> merge having changesets with differing commit messages is done, the
>> merger would be asked (or a configured policy consulted) to determine
>> which to accept.
>
> Could you not just make a Wiki where you export all commit messages once
> and then update them as you find errors? Then you would have your
> free-floating commit messages along side your normal commits.
A centralized wiki would rather contradict the distributed
nature of a DVCS. And if one is going to maintain the
commit messages outside the VCS, what point in even supplying
commit messages to the VCS?
But I actually do something like that currently with some CVS
projects: an old fashioned ChangeLog file. Of course I could
do that with Mercurial too, but was hoping for an improvement
to that wart in my process.
More information about the Mercurial
mailing list