I’ve been reading the svk documentation, which is somewhat lacking, working out the best way to setup an external development enviroment for tracks a Rails based GTD project I’ve been contributing too. I’m planning to port the Salted Hash Login Generator to Tracks. Currently I don’t have write access to the track subversion repository, so this lead me to try svk out.
I decided that I wanted a seperate subversion repository from the svk default depot for mirror tracks and tracking my changes. So I followed the basic setup for svk: svk depotmap –init. Then added ‘tracks’:/home/svn/tracks via svk depotmap.
[nic@shell:~/] svk depotmap
Waiting for editor...
New depot map saved.
Repository /home/svn/tracks does not exist, create? (y/n)y
[nic@shell:~/] svk depotmap --list
[nic@shell:~/] svk ls /tracks/mirror/
Then I setup the mirror for the mainline tracks repository with:
[nic@shell:~/] svk mirror http://www.rousette.org.uk/svn/tracks-repos/ /tracks/mirror/
[nic@shell:~/] svk mirror --list
[nic@shell:~/] svk sync /tracks/mirror
Retrieving log information from 1 to 101
Committed revision 2 from revision 1.
Committed revision 102 from revision 101.
Finally create the local development branch:
[nic@shell:~] svk cp -p -m'Branch to bring work on Salted Hash Login Genetator version of tracks' /tracks/mirror/trunk/tracks /tracks/local/shlg-tracks
Committed revision 103.
[nic@shell:~/tmp] svk co /tracks/local/shlg-tracks
Syncing /tracks/local/shlg-tracks(/local/shlg-tracks) in /home/nic/tmp/shlg-tracks to 103.
From what I’ve read I can also do this remotely (rails to shell) with:
[nic@rails:~/tmp] svn co svn+ssh://shell/home/svn/tracks/local/shlg-tracks shlg-tracks
Although at this point I’m not 100% sure I can workable use svn to commit back to the svk branch, without corruption.