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

Re: Subversion, decentralized version control, and the future.

From: Giovanni Bajo <rasky_at_develer.com>
Date: 2007-06-29 21:27:30 CEST

On 29/06/2007 19.45, Blair Zajac wrote:

> Making the wc spec a document instead of just in the implementation
> would be a good thing.

OK, we agree here. That's great since it's not been like this till now!

> However, TortoiseSVN and all the other apps that use the C libsvn_wc API
> would have to use bind to Python instead? Or the Subversion team would
> write libsvn_wc in Python and somebody else would end up writing a C
> libsvn_wc, because somebody is going to do it because it is needed. I
> would rather see us do the C version and other people do the non-C
> versions.

Of course, if you think in terms of "binding", C has so many advantages that
it's impossible to compare it to anything.

But is a *binding* to libsvn_wc really required? What if we release a command
line application/interface to access the WC functionalities?

In my opinion, svnmerge.py that spawns svn works very well for *almost*
anything and requires less code, less dependencies, etc. I reckon that
svnmerge.py wouldn't have attracted so many contributors if people were
required to install the Python bindings of libsvn and to study what an
"editor" is before starting to hack.

The issues I found with spawning the svn command line client are:

1) Under Windows (thinking Tortoise here), there's a relatively high price to
pay to start a process.
2) svn does not export all the desired functionalities because its interface
is meant for users, not programmers.

I think both these points can be solved by producing a different application,
which speaks through stdin/stdout with a simple API (so that can be started
once and used for multiple commands). This application would be meant for
programmers only (eg: it would default to xml output for commands), and export
all required functionalities without worries about final users.

This way, no bindings are required at all, and you totally decouple the
libsvn_wc implementation language from binding issues.

Giovanni Bajo
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Jun 29 21:27:44 2007

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.