Any interest in a Ruby source code repository module modeled after DBI?

I posted this in the Perl c.l.p.misc and c.l.p.modules newsgroups, and while it's a long shot I would be able to port this to Ruby if there were any interest, I could certainly be tempted to do so since I have more than a passing fancy for Ruby (just little time and opporunity to use it).

But if no one in the Perl world wants this and the Ruby world is receptive to it, maybe I would port this to Ruby.

It's a source code repository module modeled after Perl's DBI (from which Ruby's DBI is modeled it seems). It allows one to access source code repositories (VSS, CVS, Subversion, PVCS, MKS, etc.) through a consistent interface (think about it, databases add, modify, update and delete records -- hence DBI; why not checkin, checkout, label, add, etc. files in an underlying SCR in the same way?) and even allows one to extend the behavior of any or all underlying SCRs in a consistent manner.

Details here:

http://groups-beta.google.com/group/comp.lang.perl.misc/browse_frm/thread/a4b54460936b1fd2/c74f526490a8385f?tvc=1&hl=en#c74f526490a8385f

Let me know if there is any interest in the Ruby world for this. Contact details in the URL above.

-ceo

Hello ChrisO,

I posted this in the Perl c.l.p.misc and c.l.p.modules newsgroups, and
while it's a long shot I would be able to port this to Ruby if there
were any interest, I could certainly be tempted to do so since I have
more than a passing fancy for Ruby (just little time and opporunity to
use it).

But if no one in the Perl world wants this and the Ruby world is
receptive to it, maybe I would port this to Ruby.

I like the idea, even when i think it will be almost impossible to
come with a good solution that gets all the VCS under one API as
concepts are too different (it's much much more functionality in there
then simple SQL).

I would maybe like to help you, but only if it runs on Python.
Or better, implementing the ideas in C and write wrapper's for many
languages.

···

--
Best regards, emailto: scholz at scriptolutions dot com
Lothar Scholz http://www.ruby-ide.com
CTO Scriptolutions Ruby, PHP, Python IDE 's

ChrisO wrote:

I posted this in the Perl c.l.p.misc and c.l.p.modules newsgroups, and
while it's a long shot I would be able to port this to Ruby if there
were any interest, I could certainly be tempted to do so since I have
more than a passing fancy for Ruby (just little time and opporunity to
use it).

But if no one in the Perl world wants this and the Ruby world is
receptive to it, maybe I would port this to Ruby.

It's a source code repository module modeled after Perl's DBI (from
which Ruby's DBI is modeled it seems). It allows one to access source
code repositories (VSS, CVS, Subversion, PVCS, MKS, etc.) through a
consistent interface (think about it, databases add, modify, update and
delete records -- hence DBI; why not checkin, checkout, label, add, etc.
files in an underlying SCR in the same way?) and even allows one to
extend the behavior of any or all underlying SCRs in a consistent manner.

Details here:

http://groups-beta.google.com/group/comp.lang.perl.misc/browse_frm/thread/a4b54460936b1fd2/c74f526490a8385f?tvc=1&hl=en#c74f526490a8385f

Let me know if there is any interest in the Ruby world for this. Contact
details in the URL above.

-ceo

There's something on RAA that sounds sorta similar:

http://raa.ruby-lang.org/project/vcs/

but I haven't used it.

I might be mildly interested in either or both of these because I use
PRCS locally and CVS and SVN remotely. Unifying them in a single ruby
interface would probably simplify rake scripts.

···

--
      vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407

I'm quite interested in that... it would make building a CMS on Rails that much easier, I'd reckon- you could do cool things like collaborative websites that are remotely updated n stuff...

AND it'd be quite good for things like a shared address book or calendar that is web-accessible but maintains persistence on a users' machine. (Think a bunch of reps on the road with their laptops - need contacts... then need to check in any changes they've made to the contacts database, etc.).

Cool!

···

On 08/08/2005, at 2:46 AM, ChrisO wrote:

I posted this in the Perl c.l.p.misc and c.l.p.modules newsgroups, and while it's a long shot I would be able to port this to Ruby if there were any interest, I could certainly be tempted to do so since I have more than a passing fancy for Ruby (just little time and opporunity to use it).

But if no one in the Perl world wants this and the Ruby world is receptive to it, maybe I would port this to Ruby.

It's a source code repository module modeled after Perl's DBI (from which Ruby's DBI is modeled it seems). It allows one to access source code repositories (VSS, CVS, Subversion, PVCS, MKS, etc.) through a consistent interface (think about it, databases add, modify, update and delete records -- hence DBI; why not checkin, checkout, label, add, etc. files in an underlying SCR in the same way?) and even allows one to extend the behavior of any or all underlying SCRs in a consistent manner.

Details here:

http://groups-beta.google.com/group/comp.lang.perl.misc/browse_frm/thread/a4b54460936b1fd2/c74f526490a8385f?tvc=1&hl=en#c74f526490a8385f

Let me know if there is any interest in the Ruby world for this. Contact details in the URL above.

-ceo

Lothar Scholz wrote:

Hello ChrisO,

> I posted this in the Perl c.l.p.misc and c.l.p.modules newsgroups, and
> while it's a long shot I would be able to port this to Ruby if there
> were any interest, I could certainly be tempted to do so since I have
> more than a passing fancy for Ruby (just little time and opporunity to
> use it).

> But if no one in the Perl world wants this and the Ruby world is > receptive to it, maybe I would port this to Ruby.

I like the idea, even when i think it will be almost impossible to
come with a good solution that gets all the VCS under one API as
concepts are too different (it's much much more functionality in there
then simple SQL).

I would maybe like to help you, but only if it runs on Python.
Or better, implementing the ideas in C and write wrapper's for many
languages.

Hmmm, as someone else pointed out, it looks like in the Ruby world, something like this may already exist. It certainly looks very much the same to me (eg. wcs or vcs).

As for Python and C... Don't tempt me with ANOTHER OO scripting language!! :wink: I've always been interested in Python as well (and dabbled in it some), but I have limited time. Which speaks to the C solution straight on. It's not a bad idea to provide a C API that other scripting languages can wrap around (a la MySQL, etc.), but I just don't have the time to take up C for this. And I'm not even sure going that direction is worth the effort involved, though I admit the idea has merits.

As for all the different ways the SCRs work, I admit this as well. Part of a Ruby or Perl solution is that you find you have the ability to unify them somewhat using the approach I have suggested. I found this to be more true than I thought. And I was surprised to be able to get the interface down to something consistent and usable across multiple SCRs as well.

For those things which absolutely cannot be unified, one could, as in the Perl DBI world, start creating SCR specific modules to handle any specific SCR features one owuld still want in Ruby (eg. SCR::VSS, SCR::CVS, SCR::PVCS, etc.) Perl does this with the DBI interface. There are speciifc DBI modules that handle the specifics on MySQL, or Oracle, or Ajax DB that can't come under the DBI umbrella. My thought on the SCR thing was that the same direction could take place for SCR.

My approach would be to get the simple and unifying elements done first then come up with a scheme for handling those things that simply could not be incorporated under the SCR umbrella. Provide a direction for this, and then let those be developed as people need them. If a good plugin interface is provided, people will write the code when they need it and it can enjoy some robusteness and simplicity and logic in approach IMO.

-ceo

Joel VanderWerf wrote:

ChrisO wrote:

I posted this in the Perl c.l.p.misc and c.l.p.modules newsgroups, and
while it's a long shot I would be able to port this to Ruby if there
were any interest, I could certainly be tempted to do so since I have
more than a passing fancy for Ruby (just little time and opporunity to
use it).

But if no one in the Perl world wants this and the Ruby world is
receptive to it, maybe I would port this to Ruby.

It's a source code repository module modeled after Perl's DBI (from
which Ruby's DBI is modeled it seems). It allows one to access source
code repositories (VSS, CVS, Subversion, PVCS, MKS, etc.) through a
consistent interface (think about it, databases add, modify, update and
delete records -- hence DBI; why not checkin, checkout, label, add, etc.
files in an underlying SCR in the same way?) and even allows one to
extend the behavior of any or all underlying SCRs in a consistent manner.

Details here:

http://groups-beta.google.com/group/comp.lang.perl.misc/browse_frm/thread/a4b54460936b1fd2/c74f526490a8385f?tvc=1&hl=en#c74f526490a8385f

Let me know if there is any interest in the Ruby world for this. Contact
details in the URL above.

-ceo

There's something on RAA that sounds sorta similar:

http://raa.ruby-lang.org/project/vcs/

but I haven't used it.

So it seems. I know of nothing like this in the Perl world. But it looks like a very similar project to me. Thanks for pointing that out. I don't want to duplicate effort.

I might be mildly interested in either or both of these because I use
PRCS locally and CVS and SVN remotely. Unifying them in a single ruby
interface would probably simplify rake scripts.

Indeed. Sure helped my Perl framework, I can assure of that.

-ceo

This sounds like WebDAV to me.

···

On Sun, August 7, 2005 10:14 pm, Julian Leviston said:

I'm quite interested in that... it would make building a CMS on Rails
that much easier, I'd reckon- you could do cool things like
collaborative websites that are remotely updated n stuff...

AND it'd be quite good for things like a shared address book or
calendar that is web-accessible but maintains persistence on a users'
machine. (Think a bunch of reps on the road with their laptops - need
contacts... then need to check in any changes they've made to the
contacts database, etc.).

--
Jason Voegele
"There is an essential core at the center of each man and woman that
remains unaltered no matter how life's externals may be transformed
or recombined. But it's smaller than we think."
    -- Gene Wolfe, The Book of the Long Sun

Lothar Scholz wrote:

I like the idea, even when i think it will be almost impossible to
come with a good solution that gets all the VCS under one API as
concepts are too different (it's much much more functionality in there
then simple SQL).

If the OP wants a look at a mature interface for unifying VCS
interfaces, they might look at the operations supported in Emacs
vc-mode, which integrates a number of systems
(http://www.emacswiki.org/cgi-bin/wiki/CategoryVersionControl\). My
feeling is that it supports the "traditional" VCS very well,
distributed systems a little less well, and full "lifecycle" style VCS
poorly.

Cheers,
- alan

Hi,
Sorry for the short reply, I just wanted to let you know that svk uses
something that looks like what you want...

http://public.perforce.com/public/revml/index.html

hth

···

On 8/8/05, ChrisO <ceo@nospam.on.net> wrote:

Joel VanderWerf wrote:

> ChrisO wrote:
>

[...] I know of nothing like this in the Perl world. But it
looks like a very similar project to me. Thanks for pointing that out.
I don't want to duplicate effort.

--
Cristi BALAN