Changes between Version 2 and Version 3 of Develop/SourceControl
- Timestamp:
- May 3, 2017, 9:16:37 PM (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Develop/SourceControl
v2 v3 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. 1 = Git repository = 2 The source code of grafx2 is stored in a Git repository, where all versions of each file are available. The web site allows [/browser browsing through it] (read-only), but developers can use a Git client for full access. 4 3 5 4 = Location = 6 5 7 The repository is available only with the direct svn protocol. There is no HTTP wrapper.6 The repository is hosted on gitlab. For developers with commit access, use this URL: 8 7 9 8 {{{ 10 svn checkout svn://pulkomandy.tk/GrafX2/trunk/ grafx2 --username yrizoud 9 git clone git@gitlab.com:GrafX2/grafX2.git 11 10 }}} 12 11 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. 12 You need to set up your gitlab account first for this to work (ssh key to connect, etc). Alternatively, you can checkout using the https URL, but then you will need to type in your password each time you want to push your changes. 14 13 15 14 _note: This creates a new working space in (new?) directory *grafx2*_ … … 18 17 ---- 19 18 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. 19 == Repository branches == 23 20 24 === branches/release === 21 === master === 22 23 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 master is copied to the release and replaces it. 24 25 === release branch === 26 25 27 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 28 27 To check out this branch :29 To check out this branch (after cloning): 28 30 {{{ 29 svn checkout svn://pulkomandy.tk/GrafX2/branches/release/ stable31 git checkout release 30 32 }}} 31 This creates a working copy in (new) directory _stable_. 33 34 This switches your existing working copy to the release branch. 32 35 33 36 ==== Reporting fixes from release into trunk ==== 37 34 38 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: 39 35 40 1. change directory to a working copy of trunk, and type: 36 41 {{{ 37 svn merge svn://pulkomandy.tk/GrafX2/branches/release/ 42 git merge origin/release 38 43 }}} 39 44 1. Solve any conflicts (sometimes the fixes are already applied but differently) 40 1. Check in.45 1. Push the changes 41 46 42 47 ==== New release ==== 48 43 49 When the trunk is deemed stable, the release branch is upgraded to match its version: 44 1. Ch ange directory to a working copy of the release branch.50 1. Checkout the master branch 45 51 1. Change the version label (remove "wip") 46 52 {{{ 47 svn merge svn://pulkomandy.tk/GrafX2/branches/trunk/ 53 git push -f origin/release 54 git tag origin/release v2.x 55 git push origin v2.x 48 56 }}} 49 1. Solve any conflicts. 50 1. Check in. 57 51 58 When done, you generally change the version label in trunk by adding 0.1 and "wip". 52 59 53 60 === Creating a new branch === 54 Create a branch `new_branch` starting as a copy of trunk on revision 1034:61 Create a branch `new_branch` starting as a copy of master : 55 62 56 63 {{{ 57 svn copy svn://pulkomandy.tk/GrafX2/trunk@1034 \ 58 svn://pulkomandy.tk/GrafX2/branches/new_branch \ 59 --username yrizoud -m "Commit message" 64 git checkout master 65 git checkout -b new_branch 66 git push origin new_branch 60 67 }}}