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