[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: COM bindings

From: Steve Dwire <sdwire_at_pcsigroup.com>
Date: 2003-11-11 20:32:00 CET

I hope I'm not opening up a "Pandora's can of worms" here...

It appears to me that the idea of object bindings may be something that
should become officially declared as part of Subversion proper, rather
than being defined by a separate project (RapidSVN).

My thoughts behind it are these:

* Subversion is not just an application; it's also a library and an API.
* Documenting that API is part of the scope of the parent project.
* There's already a low-level API (C) and a scripting API (command line)
  defined
* The packaged Python bindings follow neither of those APIs (if I'm
  understanding Barry's e-mail correctly). Instead, they present an
object-
  based wrapper around the low-level API.
* RapidSVN also provides a (C++) object-based wrapper around the same
API,
  but RapidSVN's main reason to exist is to provide a GUI interface, not
a
  new programming interface.
* There may be many other programming languages that could benefit from
a
  defined object-based interface to the Subversion Library. (VB, COM,
Java,
  Smalltalk???, anyone else???)
* If there are many different object languages that require bindings, it
  would be helpful if the class/interface hierarchy were defined once,
and
  with authority.

I'm not saying that the code that implements the object bindings would
necessarily have to be shared across languages. What I'd like to see is
an official declaration of what an object-based binding should look like
- that is, names and relationships between classes and interfaces.
(Perhaps this could be as simple as re-locating and sanctioning
RapidSVN's class hierarchy definition.) Then, anyone who wanted to
implement an object-based binding would have an official specification
to follow, and anyone wanting to use a Subversion Object API could refer
to a single set of documentation, needing to translate only
language-specific syntax and semantics, rather than class hierarchy
differences.

As a bonus, RapidSVN's svn_cpp classes could (maybe) become part of the
officially sanctioned Subversion Bindings collection, and possibly a
reference implementation for other object-based bindings. (Since that
seems to be how they were used for the Python bindings, anyway)

Am I off my rocker? (Or more precisely, does this posting reveal such?)

S_E_D

-----Original Message-----
From: Barry Scott [mailto:barry@barrys-emacs.org]
Sent: Monday, November 10, 2003 12:34 PM
To: Steve Dwire; dev@subversion.tigris.org
Subject: Re: COM bindings

You might like to follow the same route I used for Python bindings,
base the COM bindings on rapidSVN's svncpp layer. I'd hate to have
a thin COM layer over the C API if I'm scripting from VB or JS.

Barry

At 09-11-2003 03:39, Steve Dwire wrote:
> [snip]
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
>For additional commands, e-mail: dev-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Nov 11 21:09:24 2003

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.