Git
Contents
Git and Gnucash
What is Git?
Git is a distributed version control system originally developed by Linus Torvalds for managing Linux source code without requiring a central server. It is also the primary VCS used by the Gnome and Free Desktop projects. You can get the latest version for your system and read a rich variety of online documentation at Git's Home.
What has that to do with Gnucash?
Some of Gnucash's primary developers are experimenting with using Git to take advantage of its branching and merging facilities, which are much richer than those provided by Subversion. We have an experimental repository at Github which is updated from the canonical subversion repository every 4 hours.
Using the Github Repository
Non-Committers
Just clone the repository as usual:
git clone git://github.com/Gnucash/gnucash.git
When you have patches, use
git diff > patchfile
in the root directory of your local repository to prepare them; then add the patchfile as an attachment to the appropriate bug report.
If you have a Github account, you can fork Gnucash from within Github and clone your forked repository. This allows you to publish your fork and allows Gnucash developers to pull your changes. Please don't use the Github "pull request" mechanism; we can't work directly in the Github repository because it would break synchronization with subversion.