Working with SVK: Difference between revisions

From Armagetron Advanced
Dlh (talk | contribs)
mNo edit summary
Cadillac (talk | contribs)
No edit summary
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
= Setting up the Mirror =
{{Sections}} <!-- Template:Sections should be at the top of each section -->
 
[http://svk.elixus.org SVK] is a decentralized version control system built on top of the Subversion back-end.
 
== Installing ==
 
=== Mac OS X ===
 
* Install [http://darwinports.org darwinports].
* sudo port install svk
 
== Setting up the Mirror ==


1. Grab the AA subversion repository. I encountered SVN errors when checking out the entire repository, so I instead grabbed it using rsync.
1. Grab the AA subversion repository. I encountered SVN errors when checking out the entire repository, so I instead grabbed it using rsync.
Line 38: Line 49:
<pre>$ svk sync //mirror/armagetronad</pre>
<pre>$ svk sync //mirror/armagetronad</pre>


= Hacking Away =
== Hacking Away ==


1. Create a local branch and check it out.
1. Create a local branch and check it out.
Line 55: Line 66:


{{Sections}} <!-- Template:Sections should be at the top of each section -->
{{Sections}} <!-- Template:Sections should be at the top of each section -->
{{Category:Development}}
 
[[Category:Development]]

Latest revision as of 14:21, 24 August 2021


Sections: Installing the Game | Playing the Game | Competition Hub | Server Administration | Extending Armagetron Advanced | Development Docs


SVK is a decentralized version control system built on top of the Subversion back-end.

Installing

Mac OS X

Setting up the Mirror

1. Grab the AA subversion repository. I encountered SVN errors when checking out the entire repository, so I instead grabbed it using rsync.

$ mkdir armagetronad-svn
$ RSYNC_PROXY=rsync-svn.sourceforge.net:80 \
  rsync -a rsync-svn-a::svn/armagetronad/* ./armagetronad-svn

2. Setup the depotmap if this is your first time using svk.

$ svk depotmap --init

3. Setup the svk mirror.

$ svk ls file://$HOME/armagetronad-svn/

Options I chose:

base URI
default
depot path
//mirror/armagetronad
mirror to
most recent revision — h)ead

4. Relocate the mirror to point at the SourceForge.net SVN repository.

$ svk mirror --relocate \
  //mirror/armagetronad \
  https://svn.sourceforge.net/svnroot/armagetronad
    
$ svk mirror --list
  Path                    Source
  ============================================================
  //mirror/armagetronad   https://svn.sourceforge.net/svnroot/armagetronad

5. Sync-up the mirror.

$ svk sync //mirror/armagetronad

Hacking Away

1. Create a local branch and check it out.

$ svk cp -p //mirror/armagetronad/armagetronad/trunk/armagetronad //local/armagetronad
$ svk co //local/armagetronad

2. Hack away...

3. Merge the changes from you branch back into the AA SVN tree.

If you want to push the changes as individual patches (not sure if --log is needed)
$ svk smerge --incremental --log //local/armagetronad //mirror/armagetronad/armagetronad/trunk/armagetronad
If you want to push as one big patch
$ svk merge //local/armagetronad //mirror/armagetronad/armagetronad/trunk/armagetronad

Sections: Installing the Game | Playing the Game | Competition Hub | Server Administration | Extending Armagetron Advanced | Development Docs