| 1 | = Subversion repository = |
| 2 | 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 [/browser browsing through it] (read-only), but developers can use a Subversion client for full access. |
| 3 | We often use the svn revision number to identify a particular set of change. |
| 4 | |
| 5 | = Location = |
| 6 | |
| 7 | The repository is available only with the direct svn protocol. There is no HTTP wrapper. |
| 8 | |
| 9 | {{{ |
| 10 | svn checkout svn://pulkomandy.tk/GrafX2/trunk/ grafx2 --username yrizoud |
| 11 | }}} |
| 12 | |
| 13 | 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. |
| 14 | |
| 15 | _note: This creates a new working space in (new?) directory *grafx2*_ |
| 16 | |
| 17 | |
| 18 | ---- |
| 19 | |
| 20 | == Repository tree == |
| 21 | === trunk === |
| 22 | 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. |
| 23 | |
| 24 | === branches/release === |
| 25 | 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. |
| 26 | |
| 27 | To check out this branch: |
| 28 | {{{ |
| 29 | svn checkout svn://pulkomandy.tk/GrafX2/branches/release/ stable |
| 30 | }}} |
| 31 | This creates a working copy in (new) directory _stable_. |
| 32 | |
| 33 | ==== Reporting fixes from release into trunk === |
| 34 | 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: |
| 35 | # change directory to a working copy of trunk, and type: |
| 36 | {{{ |
| 37 | svn merge svn://pulkomandy.tk/GrafX2/branches/release/ |
| 38 | }}} |
| 39 | # Solve any conflicts (sometimes the fixes are already applied but differently) |
| 40 | # Check in. |
| 41 | |
| 42 | ==== New release === |
| 43 | When the trunk is deemed stable, the release branch is upgraded to match its version: |
| 44 | # Change directory to a working copy of the release branch. |
| 45 | # Change the version label (remove "wip") |
| 46 | {{{ |
| 47 | svn merge svn://pulkomandy.tk/GrafX2/branches/trunk/ |
| 48 | }}} |
| 49 | # Solve any conflicts. |
| 50 | # Check in. |
| 51 | When done, you generally change the version label in trunk by adding 0.1 and "wip". |
| 52 | |
| 53 | === Creating a new branch === |
| 54 | Create a branch `new_branch` starting as a copy of trunk on revision 1034 : |
| 55 | |
| 56 | {{{ |
| 57 | svn copy svn://pulkomandy.tk/GrafX2/trunk@1034 \ |
| 58 | svn://pulkomandy.tk/GrafX2/branches/new_branch \ |
| 59 | --username yrizoud -m "Commit message" |
| 60 | }}} |