www.frotzware.com

Subversion and SVN_SSH (and CVS and CVS_SSH) PDF Print E-mail
Written by Frotz   
Sunday, 17 September 2006
I figured out CVS and $CVS_SSH a file recently when I finally had the opportunity to use CVS from a Linux box.  I was looking for the same sort of magic for Subversion and finally found a reference to $SVN_SSH.

 

CVS and $CVS_SSH


I've been somewhat sheltered from having to learn this by TortoiseCVS as my previous preferred development environments were EMACS and XP + TortoiseCVS.

Recently, I had to learn how to use the command line CVS commands and get all of the SSH / CVS_ROOT values working so that EMACS and XP works correctly but without TortoiseCVS.

The secret here was the environment variable CVS_SSH.  For me, I put in my default repository CVS_ROOT value, then set up my SSH credentials (See "Linux Server Hacks" from O'Reilly) and now CVS does not prompt me when I use command line or subordinate processes under EMACS vc-mode.

Subversion and $SVN_SSH


Now having recently started a project at home that justifies the learning curve to start using Subversion, I wanted the same level of fluidity provided by CVS and $CVS_SSH.

Sadly, this reference was somewhat harder to find.  I ended up finding a reference to ~/.subversion/ and only inside those files did I find a reference to SVN_SSH.

Since I have yet to get my webserver environment straightened out, I'm stuck with a local file system repository.  I was forced to abandon XAMPP (www.apachefriends.org) because the Subversion components are only built for Apache 2.0, not 2.2 and I did not have the time to figure out why, so I chose the simpler path of just reverting to CentOS RPM managed services, which already support (via the Dag repository) RPM modules for the latest Apache 2.0 and Subversion clients with trivial updates via yum(1).

Suffice it to say, that this command solved my problem:
  • export SVN_SSH=file:///path/to/my/repository
Now, when I'm in a shell and in a Subversion working directory, "svn ls" works as I expect without the need to specify the repository on the command line.

This also gives me a way to transparently shift my Subversion protocols through the suite without having to mentally remember which one I'm using.
Last Updated ( Sunday, 17 September 2006 )
 
< Prev   Next >