views:

88

answers:

1

I see a couple dozen gems that relate to svn, but what little documentation I can find on any of them shows that they are command-line wrappers and misc helpers. (svn-command, svn-hooks, etc.)

I've seen code in the wild that does things like: require 'svn/core' and SVN.Repos.add(...), but the author of that module pulled his svn ruby tools via apt-get. This would not be an option for me, as I'm developing a windows/osx tool.

This page lists a number of projects, but in particular, I'm in need of something that will make it possible to access an svn+ssh repository and I don't have the kind of time it would take to dig through docs on a half-dozen projects, trying to bootstrap each one.

Which gem am I after? From there, I'm happy to dig through code in lieu of documents, but with a call to gem query --name-matches svn --remote returning about 30 hits, I need to narrow it down a bit first.

A: 

Exactly what was being pulled by the apt-get command? Was it the bindings themselves (apt-get install libsvn-ruby) or the ruby modules? Since the bindings aren't ruby modules, they can't be pulled in by the gem command. You have to install them via apt-get or manually download them and install them into your system.

You can try svn_wc which requires svn_core. And, I believe svn_core uses the SWIG bindings and the Ruby bindings are included when you install Subversion. You can also try svn_tools which was created by Mark Bates who wrote Distributed Programming with Ruby. I haven't found any documentation on svn_tools though.

I noticed that the RSCMlink text module which is a unified way of interfacing to various SCM tools, uses the Subversion command line. If there was one tool I thought would use Subversion's API bindings, I thought this would be it, but it too uses the Subversion command line.

David W.