Searching for Subversion

Todo list

As soon as I got started with Habari, I started a todo list for it: it's simply a draft, never to be published, but always at hand when working with it.

When I was running into errors in Habari because I started with the "old" (stable) version instead of the new 0.6 which is still being worked on, the immediate suggestion on #habari was not just to download 0.6 (you can download a zip of a recent build) but to pull in the current version from the repository with an svn command issued at the server. In fact, the Installation instructions also tell you how to do that. It sounded like a good idea.

Easier said than done, as it turned out.

SVN Server

Server software

My server is a VPS which runs CentOS 3. That's a pretty old version but quite common for hosting because it's stable and proven. And it's perfectly fine for running a web server (and a few other related essentials). It comes with Apache 1.3 which is fine with me since it takes a lot less resources than version 2, and I have a smallish server. But I'd found out pretty soon that when you want to upgrade software things can get hairy because all kinds of little bits are then also needed to be upgraded, or just plain missing. And to install new software is even worse.

When I ran the suggested svn command the server told me it didn't have svn. Duh. So, just to get started quickly, I switched to the two-weeks-old zip, which at least should give me all new functionality - and it did. But I had considered before using an SVN installation on my server which would give me a nice off-site backup at the same time, so I put installing SVN on my todo list.

So today I set out to install SVN on my server, so I could not only easily pull in new versions of Habari (and other software, of course) but also use the server as my own remote source control system.

Easier said than done, as it turned out.

I'm far from a Linux expert, but I did remember yum; a quick

  1. $ yum --help
refreshed my memory, and then I did a search to see what was available:

  1. $ yum search svn
  2. Searching Packages:
  3. Setting up repositories
  4. update 100% |=========================| 951 B 00:00
  5. base 100% |=========================| 1.1 kB 00:00
  6. centosplus 100% |=========================| 951 B 00:00
  7. addons 100% |=========================| 951 B 00:00
  8. extras 100% |=========================| 1.1 kB 00:00
  9. Reading repository metadata in from local files
  10. primary.xml.gz 100% |=========================| 70 kB 00:01
  11. update : ################################################## 264/264
  12. Added 11 new packages, deleted 0 old in 1.14 seconds
  13.  
  14.  
  15. mod_dav_svn.i386 1.1.4-2.ent base
  16. Matched from:
  17. mod_dav_svn
  18. The mod_dav_svn package allows access to a Subversion repository
  19. using HTTP, via the Apache httpd server.
Only one package, and I don't particularly need the web interface. Well. So I did

  1. $ yum install mod_dav_svn.i386
which caused yum to trundle a bit and gather lots of stuff (the dreaded extra dependencies needed) and then ask me if it was OK to go ahead. I looked at this

  1. Dependencies Resolved
  2.  
  3. =============================================================================
  4. Package Arch Version Repository Size
  5. =============================================================================
  6. Installing:
  7. mod_dav_svn i386 1.1.4-2.ent base 50 k
  8. Installing for dependencies:
  9. guile i386 5:1.6.4-14 base 746 k
  10. httpd i386 2.0.63-2.el4s1.centos.2 centosplus 935 k
  11. neon i386 0.24.7-4 base 86 k
  12. subversion i386 1.1.4-2.ent base 1.6 M
  13. swig i386 1.3.21-6 base 1.0 M
  14. umb-scheme i386 3.2-36.EL4 base 967 k
  15.  
  16. Transaction Summary
  17. =============================================================================
  18. Install 7 Package(s)
  19. Update 0 Package(s)
  20. Remove 0 Package(s)
  21. Total download size: 5.3 M
  22. Is this ok [y/N]:
and declined: The "httpd" in there is Apache. Version 2.0.something — which I don't want. At least not now. Not when I'm installing version control, not a web server!

SVN Client

The next idea was to get only an SVN client, but of course that wasn't in the list of one that yum search had come up with. Yahoo! to the rescue, and after a bit of poking around (and suddenly remembering that the scarcity of packages for CentOS 3 is somewhat relieved by the fact that quite often packages for RHEL 4 work just as well) I found a client (which I could only download after registering at www.collab.net, but that's free). I then carefully followed their detailed instructions for how to install it, which went without a hitch and taught me a few new things, too. As a final check I ran

  1. $ svn --help
and I got a nice list of options!

So now I can at least pull new code from the repository right on the server.

But the SVN Server?

But what about the idea of running an SVN server on my server? Somehow I cannot believe there isn't an SVN version out there that either just doesn't implement the web interface, or is compatible with Apache 1.3. But where? I'd really like to run a remote SVN server instead of my local one on windows on a tottering old laptop... — If you have any idea, please leave a comment!


1 Responses to Searching for Subversion

  1. 1 marjolein November 20, 2008 8:54am

    Thanks to sabre2th on the #wikka channel who pointed out my newbie error: I should have searched for 'subversion' with yum, not (only) for 'svn'.

    Sure enough, when I did that I found a subversion.i386 which I could install without any problem.

    Now I just need to figure out how to configure the included 'light' svnserve and set up repositories, which means reading more docs and (probably) more trial-and-noob-error. But that will be a whole new adventure!

Leave a Reply


Some HTML allowed (like a, em, strong, pre). If you want to embed a code fragment, its syntax will be highlighted if you surround it in pseudo-tags like this:
[geshi lang="php"]echo 'highlighted code!';[/geshi] (instead of using pre); specify language in the lang attribute. Do not enclose your code in tags like <?php … ?> as that will make it disappear.