Jump to: navigation, search

Brief introduction to SVN

1,210 bytes added, 09:05, 7 August 2009
Added information about sandbox and geps branches
== Types of branches ==
There are two four kinds of branches in the Subversion Repository: "trunk" and "maintenance branches".
The first type is a "* ''trunk". '' - There is only one trunk. All new feature development happens in the trunk. New releases never come from the trunk.The trunk for GRAMPS can be found here:
The other type of branch is a "* ''maintenance branch". '' - There are many maintenance branches. A maintenance branch is created from the trunk when all the features for a release are complete. New features are not committed to maintenance branch. Releases only come from maintenance branches. The purpose of maintenance branches is to allow the line of code to stabilize while new features are added in trunk.Maintenance branches can be found here:
* ''geps'' - These are meant for development of [[Gramps Enhancement Proposals|Portal:Enhancement_Proposals]]. Most of the time GEPS are developed in the ''trunk''. Occassionally a GEP will require extensive reworking or long periods when the code base is ususable. In these cases a branch in ''geps'' can be used as a temporary development area. Once the hard work is done the change should be merged into the trunk and the ''geps'' branch should be removed. ''greps'' branches should follow the naming convention ''gep-<###>-<descriptive text>'' e.g. ''gep-013-server''. * ''sandbox'' - These are meant for experimentation purposes. If you want to explore some ideas or try out some changes that would break the ''trunk'' or prototype something that has not made it to a GEP you can create a ''sandbox'' branch. These should be short lived. As soon as you have finished please remove the branch. We reserve the right to remove any ''sandbox'' branch that has not been touched for 12 months. ''sandbox'' branches should use the following naming convention ''<username>-<descriptive text>'' e.g. ''hippy-prototype-rss-idea''. Release tags are created in the ''tags'' directory. The first two digits of the GRAMPS version number are reserved to indicate the maintenance branch the code came from. The last digit indicates the revision from that maintenance branch. For example, 3.0.4 would indicate the 5th release from the 3.0 branch (3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.0.4).
Here is a hypothetical example:

Navigation menu