Difference between revisions of "Git Migration"

From GnuCash
Jump to: navigation, search
(Github or self-hosting at code.gnucash.org ?)
(Github or self-hosting at code.gnucash.org ?)
Line 60: Line 60:
 
* Good uptime
 
* Good uptime
 
* Easily caters for multiple admins
 
* Easily caters for multiple admins
 +
* High visibility
 +
* Makes cloning very easy
 
* Very popular
 
* Very popular
 +
* Continued (limited) svn access via a git-to-svn bridge for those who prefer to stick with svn
 
|
 
|
 
* Not under our own control
 
* Not under our own control

Revision as of 10:00, 13 August 2012

GnuCash is currently in the process of migrating from svn to git. Many parts of the GnuCash development process currently rely on svn only still. All these parts have to be rewritten to work with either svn or git(hub).

This page intends to keep track of the parts that still have to be reworked.

Area Description Files Status
Win32 build packaging/win32/install-impl.sh The equivalent of svn update should be implemented. Our custom git-update script could be good to start with, but is currently not part of the GnuCash git repository, so it has to be fetched from somewhere else. DONE 2012-08-12
Win32 nightly build packaging/win32/daily_build.sh

packaging/win32/weekly_build.sh packaging/win32/build_package.sh packaging/win32/build_tags.sh

Each of these files uses svn for either update, get tags, get revision and so on. An equivalent in git should be setup. Personally, I think the cleanest would be to create a second set of scripts for git, which is a copy of the original scripts with all svn usage replaced with git usage. These scripts can then be called to daily_build.bat independently from the svn ones.

Additional tricky part: git can't be in the PATH, because its dll's conflict with the GnuCash ones.

DONE 2012-08-12, just needs to be activated in daily_build.bat still
Docs nigthly build  ? There is a script that build and uploads the documentation every night. I don't know where this script is stored. TBD
Doxygen nightly build  ? Equally there is a script that builds and uploads the doxygen documentation every night. I don't know where that script is stored. TBD
Commit hooks  ? Currently when a patch is committed, notification mails are sent out. We should figure out how to set this up on github. TBD
Website update  ? Another commit hook will update the website whenever changes are committed to the htdocs svn repository. If the repository migrated to github as well, we'll have to figure out how to trigger these updates from within github. TBD


Github or self-hosting at code.gnucash.org ?

The discussion on this is still ongoing. The section below will try to list as many advantages and disadvantages of both options as possible to make it easier to decide.

Pro Con
Github
  • Good uptime
  • Easily caters for multiple admins
  • High visibility
  • Makes cloning very easy
  • Very popular
  • Continued (limited) svn access via a git-to-svn bridge for those who prefer to stick with svn
  • Not under our own control
  • Built-in pull requests and bugtracking have their issues (according to John). We don't have to use those, but likely people will, since we can't disable them (or can we ?).
code.gnucash.org
  • Under our own control
  • Single point of failure (one internet connection, one single admin)


Still to be investigated

  • Integration with our existing infrastructure like commit hooks and htdocs, ...