Any interest in a Ruby source code repository module modeled afterDBI?

C

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.

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...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
 
L

Lothar Scholz

Hello ChrisO,

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

C> But if no one in the Perl world wants this and the Ruby world is
C> 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.
 
J

Joel VanderWerf

ChrisO said:
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...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.
 
C

ChrisO

Lothar said:
Hello ChrisO,

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

C> But if no one in the Perl world wants this and the Ruby world is
C> 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!! ;-) 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
 
C

ChrisO

Joel said:
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
 
C

Cristi BALAN

J

Julian Leviston

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!
 
J

Jason Voegele

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.).

This sounds like WebDAV to me.

--=20
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
 
A

Alan Chen

Lothar said:
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
 

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

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,057
Latest member
KetoBeezACVGummies

Latest Threads

Top