Actions

Developer Area/Source code

From Mahara Wiki

< Developer Area
Revision as of 10:54, 4 April 2014 by Aaronw (talk | contribs) (Created page with "This page discusses where and how Mahara '''source code''' is managed. == Git == The Mahara Project source code is managed using the [http://en.wikipedia.org/wiki/git git] vers…")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This page discusses where and how Mahara source code is managed.

Git

The Mahara Project source code is managed using the git version control system. By the nature of git, anyone who has checked out a copy of the Mahara project git repository, now has their own full copy of the repository. So if any or all of the official git repo's listed below were to go away, the project could always be restarted from a single dev's copy of the repo.

Branches & Tags

Mahara maintains one branch for each major version of Mahara. For a major verison X.Y, the corresponding branch will be X.Y_STABLE. For instance, Mahara 1.8 is in branch 1.8_STABLE, 1.7 is in 1.7_STABLE, etc.

Minor releases are marked by tags. Release X.Y.Z will be marked with tag X.Y.Z_RELEASE.

Additionally, there is a "master" branch which contains development work on the next major release that has not been released yet.

For more information on Mahara versions and the release cycle see:

  • Developer_Area/Release_Policy
  • Developer_Area/Version_Numbering_Policy

reviews.mahara.org

At present the "live" version of the code base is in the git repository of our gerrit code review system, https://reviews.mahara.org . The code here is usually updated by people pushing patches into gerrit, where they are reviewed and merged by Mahara core developers. Users with the right permissions can also push patches directly to this git repo, and this happens occasionally as well (for instance the version bumps that are done by the scripts that package up our releases).

To clone this repo via anonymous HTTP:

git clone https://reviews.mahara.org/mahara refs/changes/47/2047/3 && git checkout FETCH_HEAD