As of March 1st, the official source-code repository of CiviCRM has switched from Subversion to Github. Git and Github provide a number of advantages:
- Popular among FOSS projects and web developers.
- Free as in beer and (mostly) free as in speech.
- Supports off-line development.
- Supports lightweight branching, merging, and code-review.
- Supports open teams – anyone can jump-in, make changes, and share changes.
For instructions on converting an existing installation (based on SVN or tarball) to a git checkout, see:
http://wiki.civicrm.org/confluence/display/CRMDOC43/GitHub+for+CiviCRM
As you get to developing and submitting patches, please try out Github's "pull-request" process. This process allows you all the benefits of git and github (publishing, offline development, lightweight branching, online code browser, etc) without requiring prior approval from anyone. In the future, we'll provide extra features for pull-requests (such as automatic validation against the test-suite).
Release Notes
- The repository structure has changed. Previously, there were two SVN repositories ("civicrm" and "tools"). The new structure is described on the wiki.
- bin/setup.conf has changed. The SVNROOT variable is now called CIVISOURCEDIR.
- The path to SeleniumRC has changed from "tools/packages/SeleniumRC" to "packages/SeleniumRC".
- If you were involved with testing the experimental "wariocrm" repositories, be sure to delete anything based on them. Mixing data between "civicrm" and "wariocrm" could produce significant confusion.
- If you've previously maintained your own forked repository based on CiviCRM, then you'll need to make changes. Git provides great tools for maintaining forks, but we don't have any great documents describing that. Feel free to contact us or to share your experiences in switching over.