User Tools

Site Tools


dev:git

This is an old revision of the document!


Git

Evergreen uses Git as its primary version control system for both code and documentation. A number of repositories of interest to Evergreen, including the main public repositories for Evergreen, Evergreen's documentation, and OpenSRF, are maintained on the community Git server.

Using Git

Quick start for Evergreen contributors

git clone git://git.evergreen-ils.org/Evergreen.git
cd Evergreen
git checkout -b working_branch
# hack away
git commit -as # and enter a useful comment
git format-patch origin
# attach patch file(s) to Launchpad bug

Quick start for commiters

# assuming you've provided a public SSH key to one of the Git administrators
git clone git@git.evergreen-ils.org:Evergreen.git
cd Evergreen
git checkout -b working_branch
# hack away
git commit -as  # and enter a useful comment
git pull origin # sync with the rest of the world
git push origin working_branch:master

Git resources

Guidelines for contributors

Commit messages

A commit message should consist of a subject line (i.e., the first line of the commit message), then a blank line, then an optional description of the patch, followed by one or more signoffs. The subject line should be brief, ideally no more than 60-70 characters, and should include a bug number from LaunchPad if relevant. Here is an example of a minimum commit message:

LP#24544: fix the quuxifier

Signed-off-by: Jane Hacker <jhacker@example.org>

Of course, sometimes a patch requires more description and review:

LP#542: extend the foobar subsystem

Add support for the thingmajigger interface provided
by the Baz module.  Adds the following OU settings:
  circ.foobar.baz
and the following permissions 
  VIEW_FOOBAR
  UPDATE_FOOBAR
  DELETE_FOOBAR

Signed-off-by: Jane Hacker <jhacker@example.org>
Signed-off-by: Roger Reviewer <roger@example.com>
Signed-off-by: Chris Committer <chris@example.net>

Sign-offs

For the Evergreen and OpenSRF projects, all patches must be signed off by the author. The author sign-off signifies that the author is permitted to submit the patch and is equivalent to signing a DCO (Developer's Certificate of Origin). More information on the DCO is included in the main contributing page.

An author sign-off can have a secondary meaning: that the author has tested the patch and believes it to be of sufficient quality to contribute to Evergreen. All contributors are encouraged to enlist other people to review their patches, and a sign-off by somebody other than the author signifies that the patch has been reviewed.

A sign-off takes the form of the following text in the commit message for a patch:

Signed-off-by: Jane Hacker <jhacker@example.org>

Evergreen.git and OpenSRF.git

The following conventions apply to both Evergreen and OpenSRF. For the sake of concision, only Evergreen will be named in the forgoing.

Branches

The tip of Evergreen development is master, while branches that start with rel_ are maintenance branches for release series. Branches that start with tags/ are legacies of Evergreen's previous Subversion repository, and should not be confused with Git tags.

Community Git Repository

http://git.evergreen-ils.org is the main community repository and is used for the following:

  • the main Evergreen, Evergreen documentation, and OpenSRF repositories
  • Evergreen and OpenSRF contribs
  • Working trees of any of the above maintained by individuals and organizations
  • Mirrors of Git repos of dependencies used by Evergreen or OpenSRF
  • Working trees of related projects, e.g., OpenNCIP.

Any individual or group who wishes to have a repository hosted on the community Git server can request one. All repositories must meet the following conditions:

  • They must be relevant to the Evergreen project.
  • They may only contain free and open source software or, in the case of documentation, images, and other non-software artifacts, must be licensed under an appropriate open license such as CC-BY-SA or CC0.

To request a new repository, please email the open-ils-dev mailing list.

Git administrators

To request a repository, please email gitadmin@evergreen-ils.org.

The people who currently have access to maintain the Git server and create new repositories (and who listen to the gitadmin@evergreen-ils.org address) are:

  • Galen Charlton
  • Thomas Berezansky
dev/git.1305399623.txt.gz · Last modified: 2022/02/10 13:34 (external edit)

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

© 2008-2022 GPLS and others. Evergreen is open source software, freely licensed under GNU GPLv2 or later.
The Evergreen Project is a U.S. 501(c)3 non-profit organization.