Changes between Version 2 and Version 3 of Develop/SourceControl


Ignore:
Timestamp:
May 3, 2017, 9:16:37 PM (7 years ago)
Author:
PulkoMandy
Comment:

Update to git.

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 =
     2The 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.
    43
    54= Location =
    65
    7 The repository is available only with the direct svn protocol. There is no HTTP wrapper.
     6The repository is hosted on gitlab. For developers with commit access, use this URL:
    87
    98{{{
    10 svn checkout svn://pulkomandy.tk/GrafX2/trunk/ grafx2 --username yrizoud
     9git clone git@gitlab.com:GrafX2/grafX2.git
    1110}}}
    1211
    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.
     12You 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.
    1413
    1514_note: This creates a new working space in (new?) directory *grafx2*_
     
    1817----
    1918
    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 ==
    2320
    24 === branches/release ===
     21=== master ===
     22
     23This 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
    2527Contains 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.
    2628
    27 To check out this branch:
     29To check out this branch (after cloning):
    2830{{{
    29 svn checkout svn://pulkomandy.tk/GrafX2/branches/release/ stable
     31git checkout release
    3032}}}
    31 This creates a working copy in (new) directory _stable_.
     33
     34This switches your existing working copy to the release branch.
    3235
    3336==== Reporting fixes from release into trunk ====
     37
    3438After 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
    3540 1. change directory to a working copy of trunk, and type:
    3641{{{
    37 svn merge svn://pulkomandy.tk/GrafX2/branches/release/
     42git merge origin/release
    3843}}}
    3944 1. Solve any conflicts (sometimes the fixes are already applied but differently)
    40  1. Check in.
     45 1. Push the changes
    4146
    4247==== New release ====
     48
    4349When the trunk is deemed stable, the release branch is upgraded to match its version:
    44  1. Change directory to a working copy of the release branch.
     50 1. Checkout the master branch
    4551 1. Change the version label (remove "wip")
    4652{{{
    47 svn merge svn://pulkomandy.tk/GrafX2/branches/trunk/
     53git push -f origin/release
     54git tag origin/release v2.x
     55git push origin v2.x
    4856}}}
    49  1. Solve any conflicts.
    50  1. Check in.
     57
    5158When done, you generally change the version label in trunk by adding 0.1 and "wip".
    5259
    5360=== Creating a new branch ===
    54 Create a branch `new_branch` starting as a copy of trunk on revision 1034 :
     61Create a branch `new_branch` starting as a copy of master :
    5562
    5663{{{
    57 svn copy svn://pulkomandy.tk/GrafX2/trunk@1034 \
    58 svn://pulkomandy.tk/GrafX2/branches/new_branch \
    59 --username yrizoud -m "Commit message"
     64git checkout master
     65git checkout -b new_branch
     66git push origin new_branch
    6067}}}