gEDA-dev: ChangeLog files & git

Peter TB Brett peter at peter-b.co.uk
Wed Jun 20 16:15:48 EDT 2007


Hi folks,

There's going to be a big problem with keeping the ChangeLog files consistent 
once we move to git, because the ChangeLog format implicitly assumes that 
changes will appear in the revision control system in the order in which 
they're made.

In the presence of a distributed repository and tools such as git-rebase and 
git-cherry-pick, this assumption is not valid, and 

Let us assume two possible scenarios (have I missed any?):

  1) User running unstable version of gEDA built from git repository.  In this
     case, they're going to have git repository around anyway, so ChangeLog is
     of negligible utility.

  2) User running stable version of gEDA built from release.  In this case,
     they're running a release from tarball, and the tarball should contain a
     ChangeLog valid up to that point.  In this case, the sources are
     independent of SCM, so a static ChangeLog is fine.

Proposal for a simple fix:

  - the ChangeLog file as of 1.0 moved to ChangeLog-1.0.

  - an empty file in the place of ChangeLog

  - for each release, the procedure:

    a)  Check out sources for release

    b)  Create release tag[1]: git-tag -m "gaf 1.1.1 release" 1.1.1

    c)  Update ChangeLogs in each directory: 
          git-log --no-merges 1.0..1.1.1 > ChangeLog
        And commit them:
          git-commit -m"Update changelogs" -- $(find . -name "ChangeLog")

    d) Make release.

Note that the ChangeLogs as released will not include the 
self-referential "Update changelogs" message.

I'd like to know how this sounds to people.  I'm not sufficiently skilled in 
autotools magic to know if it's possible to generate the ChangeLogs directly 
from the git repository at build time, or even if that is desirable.

One side effect of doing things this way is that it will encourage people to 
write good commit log messages, which are absolutely crucial to the git 
workflow.  Which, I would like to point out, shouldn't contain lists of 
modified files as this information is trivial to obtain from the git 
repository.

Peter


[1] Ales may wish to use GPG-signed release tags.

-- 
Fisher Society                              http://tinyurl.com/o39w2
CU Small-Bore Club                          http://tinyurl.com/mwrc9

      09f911029d74e35bd84156c5635688c0            peter-b.co.uk
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://www.seul.org/pipermail/geda-dev/attachments/20070620/efdd18ed/attachment.pgp 


More information about the geda-dev mailing list