Re: Workflow to accumulate individual changes?

From:

Giorgos Keramidas

Subject:

Re: Workflow to accumulate individual changes?

Date:

Thu, 31 Dec 2009 15:43:57 +0200

User-agent:

Gnus/5.13 (Gnus v5.13) Emacs/23.1.90 (berkeley-unix)

On Thu, 31 Dec 2009 07:23:28 -0500, Eli Zaretskii <address@hidden> wrote:
>> From: Andreas Schwab <address@hidden>
>> Cc: address@hidden, address@hidden, address@hidden
>> Date: Thu, 31 Dec 2009 12:44:46 +0100
>>
>> Eli Zaretskii <address@hidden> writes:
>>
>> > Are you suggesting that the commit message should not mention the
>> > changes in individual files at all, just the general idea?
>>
>> Yes, that's what they are for.
>
> But then the corresponding ChangeLog entries should have the text
> identical or very similar to the commit message in front of them, or
> else have some other means of locating the log entries easily.
>
> Anyway, I'm okay with this policy, if Stefan and Yidong approve it.
I think it's very useful to see file changes in the ChangeLog. It helps
a lot when an Emacs user downloads a tarball of the sources from the FTP
site, because file changes are visible without full access to the
original branch itself or access to a bzr client.
Maybe we can try to strike a balance between not keeping the ChangeLog
up to date at all and making it difficult to commit *one* changeset that
includes both ChangeLog updates _and_ file updates by committing the
ChangeLog updates separately? This way, we can have a very short
summary in the ChangeLog commit, e.g.:
: address@hidden:/tmp/bzrdemo$ cat ChangeLog
: 2009-12-31 Giorgos Keramidas <address@hidden>
:
: * foo: Add a new 'foo' file.
:
: address@hidden:/tmp/bzrdemo$ bzr log --show-ids
: ------------------------------------------------------------
: revno: 2
: revision-id: address@hidden
: parent: address@hidden
: committer: Giorgos Keramidas <address@hidden>
: branch nick: bzrdemo
: timestamp: Thu 2009-12-31 15:38:47 +0200
: message:
: ChangeLog for address@hidden
: ------------------------------------------------------------
: revno: 1
: revision-id: address@hidden
: committer: Giorgos Keramidas <address@hidden>
: branch nick: bzrdemo
: timestamp: Thu 2009-12-31 15:36:56 +0200
: message:
: Add a new 'foo' file.
:
: address@hidden:/tmp/bzrdemo$
To avoid doubling the revisions we keep in the repository, by following
*every* single commit with a ChangeLog update, we can batch ChangeLog
updates. So a developer can work in his own local branch and commit
several local changes before updating the ChangeLog. Then a single
ChangeLog commit on top of those can be stacked on top of the batch of
local changes, right before they are pushed to the trunk.
In a related side-node, it seems vc-update-change-log doesn't grok bzr
branches. What are the missing bits? Can we add them now that Emacs
itself uses bzr?