wiki:Develop/SourceControl

Version 1 (modified by pulkomandy, 4 years ago) (diff)

--

Subversion repository

The source code of grafx2 is stored in a Subversion (aka SVN) repository, where all versions of each file are available. The web site allows browsing through it (read-only), but developers can use a Subversion client for full access. We often use the svn revision number to identify a particular set of change.

Location

The repository is available only with the direct svn protocol. There is no HTTP wrapper.

svn checkout svn://pulkomandy.tk/GrafX2/trunk/ grafx2 --username yrizoud

When prompted, enter your developer password. If you don't provide an user name, you will do an anonymous checkout, which you can use only in read-only mode.

_note: This creates a new working space in (new?) directory *grafx2*_


Repository tree

trunk

This is where most work takes place. It contains at all times the work-in-progress version, sometimes unstable. When publishing a stable version, the code in trunk is copied to branches/release and replaces it.

branches/release

Contains a development branch for the latest stable release version. Most of the time there is no activity, the branch stays available to quickly fix a critical bug that would be found in a release version.

To check out this branch:

svn checkout svn://pulkomandy.tk/GrafX2/branches/release/ stable

This creates a working copy in (new) directory _stable_.

Reporting fixes from release into trunk ===

After they're coded and packaged, the fixes can be reported back to trunk (so the next unstable version also benefits from the fixes). To do so:

# change directory to a working copy of trunk, and type:

svn merge svn://pulkomandy.tk/GrafX2/branches/release/

# Solve any conflicts (sometimes the fixes are already applied but differently) # Check in.

New release ===

When the trunk is deemed stable, the release branch is upgraded to match its version:

# Change directory to a working copy of the release branch. # Change the version label (remove "wip")

svn merge svn://pulkomandy.tk/GrafX2/branches/trunk/

# Solve any conflicts. # Check in.

When done, you generally change the version label in trunk by adding 0.1 and "wip".

Creating a new branch

Create a branch new_branch starting as a copy of trunk on revision 1034 :

svn copy svn://pulkomandy.tk/GrafX2/trunk@1034 \
svn://pulkomandy.tk/GrafX2/branches/new_branch \
--username yrizoud -m "Commit message"