Archive for September, 2007

Backing up your RailsRumble repository

So you busted you butt all weekend, and want to make sure you can backup all the work, or import it (including the revision history) into your own subversion respository? We don’t have shell access to the subversion server, and an svnsync won’t work because we can’t access the root level of the repository. What to do? Well, here’s what I did.

RubyBrigade.org

Note: I’m working from a Mac (nuala), and didn’t want to jump through the hoops needed to install the dependencies locally, so I installed the needed tool and ran the export from an Ubuntu linux server (goldie) I have access to.

<pre>jlperry@nuala:~$ ssh goldie</pre>

First, I installed the SVN::Core perl bindings.

<pre>jlperry@goldie:~$ sudo apt-get install libsvn-core-perl</pre>

Then, I downloaded SVM a tool for mirroring Subversion repositories.

<pre> jlperry@goldie:~$ wget http://search.cpan.org/CPAN/authors/id/C/CL/CLKAO/SVN-Mirror-0.73.tar.gz jlperry@goldie:~$ tar -zxvf SVN-Mirror-0.73.tar.gz jlperry@goldie:~$ cd SVN-Mirror-0.73/ </pre>

Run the make file, saying “yes” to the questions about autoconfig and dependencies, and “yes” to “Should we try to install the required module(s) anyway?”. Just press ENTER to stuff about UUID state storage and default umask

<pre> jlperry@goldie:~/SVN-Mirror-0.73$ perl Makefile.PL jlperry@goldie:~/SVN-Mirror-0.73$ sudo make </pre>

And install it:

<pre> jlperry@goldie:~/SVN-Mirror-0.73$ sudo make install jlperry@goldie:~$ cd ~ </pre>

Now, lets get ready to do the export.

You need to create an “~/svn” folder, I think you can change the path svm wants to use, but whatver, this worked for me.

<pre>jlperry@goldie:~$ mkdir svn</pre>

Cache our authentication and acceptance of the self-signed https cert from the server before we can sync:

<pre>jlperry@goldie:~$ svn info https://svn.railsrumble.com/paintitred</pre>

<pre> jlperry@goldie:~$ svm init . https://svn.railsrumble.com/paintitred jlperry@goldie:~$ svm sync . jlperry@goldie:~$ svnadmin dump svn/svm > rumble_dump </pre>

Wow, that was easy.

<pre> jlperry@goldie:~$ logout jlperry@nuala:~$ scp goldie:~/rumble_dump . </pre>

Now, make sure you can import your dump

<pre> jlperry@nuala:~$ mkdir tmp jlperry@nuala:~$ svnadmin create tmp/rumble jlperry@nuala:~$ svnadmin load tmp/rumble/ < rumble_dump </pre>

All the above steps worked for me, your mileage may vary. I just wanted to share these tips with anyone else who might be looking to backup their work from this weekend. It was a blast. There’s a lot of good projects in there, and I’m proud of our team for finishing our entire app by the deadline.

RubyConf 2007

Pinebrae Manor

Registration has opened for RubyConf 2007 in Charlotte, and with my grandparent’s bed-and-breakfast just an hour away it looks like I’m in for some nice road-trippin-family-visiting-geekin-early-birthday fun in November.