February 01, 2008
After trying to enable remote access to my home network and discovering that AT&T doesn't really allow inbound connections, I've resorted to a different solution for access-from-anywhere-version-control.
Roundhaus, has this to say about their subversion offering,
Working with subversion repositories has never been easier. Create new projects, assign permissions, add and remove people all from a simple to use interface.That Roundhaus also offers a Ruby on Rails™ development platform and continuous integration servers, is just icing on an already good cake.
I also considered Beanstalk as a remote version control platform, however difficulties with accessing the repository unfortunately put them in second place.
My objective was to house the three hand-coded sites I maintain under version control to allow development work from any machine, without the constant worry of which machine holds the current version. To get started I downloaded the source code from the three sites to my Powerbook; the live source being the truth of those sites.
Next I created a working directory on my laptop, and put each site in its own sub-directory. Having the three sites under a common parent directory allowed me to import the parent in to my project trunk on Roundhaus. From the command line in Mac OS X, I first navigated to my working directory, and then issued this subversion command to get started:
$ cd websites
$ svn import -m "initial import of sites" . https://path-to-roundhaus-project/project/trunk
The period in the middle off the subversion import command is crucial; it represents the current working directory and tells subversion what to import.
With my source imported into the repository I was able to delete the working directory and create a new, empty, working directory. Changing to that directory I was able to issue the subversion check out (co) command to retrieve revision 1 of my project:
$ cd sites
$ svn co https://path-to-roundhaus-project/project/trunk
Repeating this checkout process on each of my machines gives me access to one, and only one, trusted source for my code. Details about working with subversion, both from the command line, or within an IDE like Eclipse or TextMate, are beyond the scope of this review, look for a future posting on integrating subversion into your work flow.
Roundhaus has been extremely easy to work with and, so far, very reliable. In the few days since I've started using it numerous changes have been made to the code base without any hiccups or issues. Best of all, I no longer have to worry about whether I am working on the correct source.