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.


  • more posts in Super Collider
    • on laptops, controllers, musicianship, post-musicianship

      Sam Pluta published an article about computer based music, information theory and human control: http://www.newmusicbox.org/article.nmbx?id=5614 and then we discussed it and I posted the following to the list, so I wanted to preserve it here because it collects some of my long-standing thoughts and experiences about controllers and live computer based music. sometimes I've gotten a bunch of controllers (a few too many) and then found that it was distracting to the music. instead of it being about music it ...

    • apple goofs up airport update

      The new mac airport update breaks most audio programs. We now get nasty crackling and CPU spikes. Solution: turn airport off when making muzak. or revert the airport update: http://www.ableton.com/forum/viewtopic.php?t=88815&postdays=0&postorder=asc&start=0&sid=63b29a6140f11d35ef1b64db664f3cb5 and the thing is this is the first time in 5 months that my airport has worked with our apartment's WLAN. I've had a cable running down the hall and I can't shut my door. george clinton has two houses : one for music, one for business.

    • super collider links

      SuperCollider2 runs only on Mac OS9. It is now available for free from http://audiosynth.com SuperCollider3 is open source, and runs on OS X and Linux. http://sourceforge.net/projects/supercollider/ browse CVS tree http://cvs.sourceforge.net/viewcvs.py/supercollider/SuperCollider3/ sc-users mailing list info http://www.create.ucsb.edu/mailman/listinfo/sc-users sc-users archives http://www.create.ucsb.edu/pipermail/sc-users/ http://news.gmane.org/gmane.comp.audio.supercollider.user sc-dev mailing list info http://www.create.ucsb.edu/mailman/listinfo/sc-dev sc-dev archives http://www.create.ucsb.edu/pipermail/sc-dev/ http://del.icio.us/tag/supercollider search sc user lists archives:

    • crucial library

      My library for higher level control of musical objects. This adds significant functionality and opens up many unique patching possibilities. For SC3 the crucial library is included in the standard distribution. The SC2 crucial library is available here.

    • Full index for Super Collider
  • more posts in tech notes
    • django.db.utils.DatabaseError: relation "django_content_type" does not exist

      p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco} I was getting an error while running unit tests and the test database was failing to be created.django.db.utils.DatabaseError: relation "django_content_type" does not existeventually found the problem.  I had the following in a file that was imported to a models.py:hrd_type = ContentType.objects.get_for_model(HttpReferrerDomain)The idea being that it can just set the var when it loads up and after that its always there.  But this means for creating a fresh database, the db is ...

    • django has two classes called ValidationError

      There is one in django.core.exceptions and one in django.forms.util Using that space age IDE Eclipse I have to say I'm enjoying how much time I've saved just going shift-command-O to organize and resolve all of my imports.  But today I've just lost a few hours due to my ok-ing the wrong class. Quite mysterious it was, I raised a ValidationError (core exceptions one) in my form's clean() and watched as the try: except ValidationError: in django's full_clean() completely ignored my ...

    • GDAL fails to build: `.rodata' can not be used when making a shared object; recompile with -fPIC

        libtool: link: g++ -shared -nostdlib /usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.4.1/crtbeginS.o .libs/libgdal.la.lnkscript  -L/usr/local/lib /usr/local/lib/libgeos_c.so /usr/local/lib/libgeos.so /usr/local/lib/libexpat.so -L/usr/lib -lpq -lrt -ldl /usr/lib/libcurl.so -lssl -lcrypto -lz -L/usr/lib/gcc/x86_64-linux-gnu/4.4.1 -L/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/4.4.1/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/crtn.o         -Wl,-soname -Wl,libgdal.so.1 -o .libs/libgdal.so.1.13.2 /usr/bin/ld: /usr/local/lib/libz.a(crc32.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC /usr/local/lib/libz.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[1]: *** [libgdal.la] Error 1 make[1]: Leaving directory `/home/crucial/tmp/gdal-1.6.2' ...

    • installing MySQLdb on Ubuntu (mysql-python)

      MySQLdb is the python support bindings for MySQL.  Not that the name would lead you to beleive that. Its sourceforge page calls it http://sourceforge.net/projects/mysql-python/ which makes more sense. you need setuptools, which you usually already have:     sudo aptitude install python-setuptools You need MySQL-devel to compile, but its not called that, its called: libmysql++-dev on Ubuntu     sudo apt-get install libmysql++-dev download MySQLdb itself from:     http://sourceforge.net/projects/mysql-python/     # the version you download will be more recent     tar xfz ...

    • Full index for tech notes
Backwardation : Version 12"
coltan and cassiterite Timeblind : Solar Life Raft Ingredients