[adding bug-gnulib] On 09/02/2010 03:00 PM, Charles Wilson wrote:
IF we want to use gitlog to create the ChangeLog, then either of these is fine with me. However, see below.iii) fix the gitlog entries -- if that's even viable?I don't think (iii) will work. You can play all sorts of games with filter-branch, but...I managed to screw up three different git clones before I gave that up as a bad idea (I was trying to fix the author of a commit that was not the final entry).
Recent git has added the notion of annotations; we could use a specific annotation namespace for replacement ChangeLog messages to be used for any commit where we typo'd the original commit log (or left out credit for a contributor, etc.). But since Jim was the one that developed the gitlog to changelog conversion tool, he's more familiar with what it would take, and whether it even makes sense to require a new enough git version to exploit commit annotations as a means of fixing ChangeLog entries.
Comments?It does seem like gitlog and ChangeLog duplicate the same info, so it would definitely be nice to reduce dvlpr workload. However, I have noticed that you /just can't/ do the following -- which is actually required by the GCS: Two people worked on a single patch, or someone submitted it, and then one of the people with commit access modified the patch slightly. The GCS says you should do this, in the ChangeLog: =========================================== 2010-09-02 John Original Submitter<...> Steve Committer Rewrite<...> <<<=== can't do this
Well, if you go by git's Signed-off-by tags as a way of generating those lines, it would be possible. Also, this would be an argument where annotations could serve to fill in the gap.
* file (func): comment Signed-off-by: Steve Committer Rewrite<...> =========================================== Also, for trivial commits without a copyright assignment, the GCS says you should do this: =========================================== 2010-09-02 Sally No Assignment<...> (tiny change)
Again, something that annotations could cover.
* file (func): comment Signed-off-by: Mark Committer<...> =========================================== Now, MAYBE the committer can do that by munging the --author='...'; I've never tried and I'm not sure how thoroughly git checks the --author argument.
You can munge anything before the email, but can't add (tiny change) afterwards (in other words, git hard-codes the email address to be last). I'd rather not munge --author, since 'git shortlog' would be noticeably worse with annotations like that.
-- Eric Blake [email protected] +1-801-349-2682 Libvirt virtualization library http://libvirt.org
