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.

4 Responses to “Backing up your RailsRumble repository”


  1. Gravatar Icon 1 zarqman

    it seems this command:

    $ svm init . https://svn.railsrumble.com/projectname

    generates this error:

    Unable to read https://svn.railsrumble.com, relay support disabled

    however, it doesn’t seem to cause any real problem. i ran svm init a second time and it did not spit out the error. svm sync worked fine.

  2. Gravatar Icon 2 Josh Owens

    Hey, I am getting a propfind failed when I try the svm init command. Did you get all this working?

  3. Gravatar Icon 3 Jason Perry

    zarqman: Yes, I probably should have mention that warning message in my notes, I got it as well.

    Josh: Some others have had trouble, I think the specific version of svm installed is significant

  4. Gravatar Icon 4 Josh Owens

    I had to fix my cpan setup, but I was able to get svm working finally. I just pulled the SVN::Mirror over using the cpan console. Thanks for this great tip man – we can finally get http://tastyplanner.com on the dev track again :D.

Leave a Reply