how to set up a local svn repository (for SC)

21 February 2008

How to create and maintain a local SVN repository for your private work.
If you are just working locally, you don't have to run an svn server at all.
Its much easier than I thought. (
this is mainly a post about working with supercollider packages. if you just want to know how to set up a local svn repository then I'll cut to the chase: svn import ~/Documents/SC3docs/felix-imported file:///Users/crucial/svn/sc/trunk/felix -m "initial felix import" then check out a working copy: svn co file:///Users/crucial/svn/sc/trunk/felix ~/Documents/SC3docs/felix that's it
) My personal class work is in a quark called 'felix' that is obviously not checked into the public repository. I want to keep it in a local svn, but since the whole quarks folder is checked out from sourceforge svn, I don't want this subfolder to get confused. Here is how I solved this: I uninstall it for the moment (using Quarks.gui) and moved the folder to ~/Documents/SC3docs/felix-imported created a local svn repository first make the directory it will go in: mkdir ~/svn
mkdir ~/svn/sc
mkdir ~/svn/sc/trunk svnadmin create ~/svn/sc/trunk import the felix quark: cd ~/Documents/SC3docs svn import felix-imported file:///Users/crucial/svn/sc/trunk/felix -m "initial felix import" then check out a working copy: svn co file:///Users/crucial/svn/sc/trunk/felix ~/Documents/SC3docs/felix then make a symlink from this working copy to the quarks folder (not the installed quarks, but the all checked out quarks) cd /Users/crucial/Library/Application\ Support/SuperCollider/quarks
ln -s ~/Documents/SC3docs/felix felix So now Quarks is installing/uninstalling a symlink to a symlink to a folder in my documents folder that is under svn control. Note there is a felix.quark file in DIRECTORY
If you wanted to do several personal quarks you could either make several symlinks or you could put them all in one folder and make one symlink. Either way you would still need several quark files in DIRECTORY The other thing I do for working with TextMate : I created ~/sc and put 2 symlinks inside it :
ln -s ~/Library/Application\ Support/SuperCollider/Extensions Extensions
ln -s /Users/crucial/scsvn/sctrunk/build/SCClassLibrary SCClassLibrary this means that I now have
~/sc/Extensions
~/sc/SCClassLibrary which is all of the currently active classes for SC.
Inside Extensions there is Extensions/quarks and I can install and uninstall quarks and always the ~/sc folder contains everything that is currently installed. This means that I can run TextMate and open that directory as a single project.