Working with SVK
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
- Install 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.
$ 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