[RFC] Policy change for ChangeLog

Chris Shoemaker c.shoemaker at Cox.net
Fri Dec 2 16:32:22 EST 2005


On Fri, Dec 02, 2005 at 03:59:27PM -0500, Derek Atkins wrote:
> I just thought of the one reason this proposal really bothers me.
> I knew there was something that wasn't sitting right and why I didn't
> think this would work.  It's not that I'm against making developers
> lives easier, but I want to make sure we don't lose something in kind.
> 
> I like the ability to specify what changed in each and every file.
> Even when I commit a single feature, I like being able to specify
> what I needed to change in each file to make that feature work.
> I like being able to say:
> 
>   foo.c:  did this change
>   bar.c:  did this other change
>   quux.c: made yet another related change
> 
> And then have the overarching description:
> 
>   Made a bunch of changes to implement _foo_
> 
> When you leave the ChangeLog generation out of the developer's hands,
> you can't get this level of detail.  

Sure you can.  Just include those details in the commit message.

> All you get is the overarching description.  You lose the ability to
> say what happened in each file.  Maybe you don't document your
> changes enough to want that ability, but I do.

Per-file documentation of a single commit is fine.  Documenting the
same commit in two different places (potentially inconsistently) is
the problem.

> As for how to get the list of files changed, you can just run a diff:
> 
>  svn diff | grep '^Index'
> 
> Personally I feel you should always run an "svn diff | more" prior
> to the commit to make sure you're only committing the change(s) you
> want.  Note that unlike cvs, an svn diff does not touch the network.
> Indeed, you could even create your ChangeLog entry as you're perusing
> your svn diff prior to commit..  Then C-x C-s the ChangeLog buffer,
> M-w to copy the changelog entry, and then C-y once you get the svn commit
> log buffer.  Then just type what you want for the email subject in
> the top line of the buffer and you're done.

Ok, yeah, that's pretty much the process I envisioned.  When you write
it out like that it seems even more circular.  Svn knows what files we
changed, so we:
  1) ask it what we changed, 
  2) cut-n-paste file list into ChangeLog,
  3) describe our commit, 
  4) cut-n-paste back into svn when it asks why we're
changing the files.

I'm sure I'll be glad when I can skip 1, 2 and 4.  And for the poor
souls who aren't using emacs... :(

-chris


More information about the gnucash-devel mailing list