Accessing SVN repository through Ruby

A

Andrey R-andrey

Hi people!

My boss ask me about a ruby library that can provide checking-out,
updating and management code-bases from SVN's repositories. Wich is the
better way to get access and manipulate code-bases from SVN's
repositories using ruby?

Is there any library can provide me these functionality?

Can i use CUI's (Command User Interface) SVN through Ruby to do that?

I just need a little light...

Thank you.
 
J

Juan Zanos

Hi people!

My boss ask me about a ruby library that can provide checking-out,
updating and management code-bases from SVN's repositories. Wich is
the
better way to get access and manipulate code-bases from SVN's
repositories using ruby?

Is there any library can provide me these functionality?

Can i use CUI's (Command User Interface) SVN through Ruby to do that?

I just need a little light...

Thank you.

The first question I'd ask is why svn in this day and age? You
might consider svn an evolutionary dead end. I don't know of a ruby
svn library although one might exist. You could just call the
command line functions. There happens to be a ruby implementation of
git here: http://github.com/schacon/ruby-git/tree/master. That might
be a better solution assuming you didn't have to use svn.
 
B

Brian Candler

Andrey said:
My boss ask me about a ruby library that can provide checking-out,
updating and management code-bases from SVN's repositories. Wich is the
better way to get access and manipulate code-bases from SVN's
repositories using ruby?

Invoking the command-line svn client from ruby is a reasonable approach.
Have a look at the source for Capistrano, which does that.

I'm also pretty sure there's a native ruby binding (or at least a SWIG
binding) as part of libsvn. Google "svn ruby binding" or "libsvn ruby
binding"

That gives you a very low level guts interface, and last time I looked
it wasn't very well documented, but there are examples out there if you
search for them.
 
J

Juan Zanos

Invoking the command-line svn client from ruby is a reasonable
approach.
Have a look at the source for Capistrano, which does that.

I'm also pretty sure there's a native ruby binding (or at least a SWIG
binding) as part of libsvn. Google "svn ruby binding" or "libsvn ruby
binding"

That gives you a very low level guts interface, and last time I looked
it wasn't very well documented, but there are examples out there if
you
search for them.


Invoking the command line is reasonable depending on how much
efficiency you need. In most instances the time to call the command
line function is going to be trivial. That isn't always the case.
The Github folks found that it was too slow. So they ended up re-
implementing git with Ruby. My guess is that in your case it
doesn't matter. But I don't know enough about your project to say
for sure.
 
B

Brian Candler

Juan said:
Invoking the command line is reasonable depending on how much
efficiency you need.

And as usual - benchmark before making any premature decisions about
performance.

svn itself is not fast, especially when accessing a remote repository,
so the overhead of invoking an external program is likely to be small in
the overall scheme of things.

That is, unless you're thinking of writing "svnhub" and having millions
of users checking into your repositories :)
 
X

Xeno Campanoli

Did anyone ever get comfortable with any interface to Subversion from Ruby? I'm
seeing a lot of stuff lying around, and I wonder how good it is. My interest
has to do with secure authentication:

When I pass an svn --username me --password mine cat http://h/repo/mfile

it of course ends up on the process list. If I could use a ruby interface that
can allow me to run everything with individual authentication and keeps it all
off the process list and other public areas, I would be better off. This is not
a real big deal otherwise, but if I can do it for auth, it would be worth
migrating.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top