Git based releases
Geert Janssens
janssens-geert at telenet.be
Fri May 17 07:37:18 EDT 2013
The next step in my work towards a fully git based development proces is to enable release
handling based on the git repository.
There were a few things missing in this respect:
- the tag builds on win32 only started from svn. My commits a few days back have dealt with
this. So the next 2.5.x release will trigger a tag build based on a git repository.
- ChangeLog and release message list generation was svn based. I have just pushed some
commits to fix this as well. The top level makefile can now generate a ChangeLog starting
from a svn or git repo. Also a new utility has been added to generate the bulletted list for the
release news message: gitlog2ul.sh.
With these fixed, I believe we can now do releases without ever checking out an svn repo.
There's just one little caveat: the svn repo is currently still our canonical/primary/master repo
and tagging has to be done in that repo. That is because git tags can't be pushed to the svn
repo. Luckily we don't need to check out the svn repo to create a tag as tagging can be done
remotely. This limitation will be gone when git (at code.gnucash.org) will become the master
repo.
With these changes committed I have updated the Release Process wiki page (1). It now has
instructions on how to release based on a git repo. The old svn based release instructions are
still kept around for the remaining future 2.4.x releases (if any).
The git process should not require you to checkout the svn repo at all, but will include one
svn cp command (to create the tag on the server side), and obviously any committed
changes during the release process have to be pushed using "git svn dcommit" still.
I would very much like the 2.5.2 release to be a test of the updated release process. John,
when you do the next release are you willing to proof-read, follow and optionally improve
the git based release process as it is currently documented at (1) ? That would be very
helpful. Thanks.
By the way, my goal is to switch from svn to git as master repo as soon as we know we have
released the last 2.4 series release. IMO that will be when we release 2.6 at the latest. So I'd
like to do test runs like this as part of the 2.5.x release series to iron out as much wrinkles as
possible.
Geert
(1) http://wiki.gnucash.org/wiki/Release_Process
More information about the gnucash-devel
mailing list