On Tue, 2006-07-11 at 16:16 -0400, Toby Johnson wrote:
> Jelmer Vernooij wrote:
> > On Tue, 2006-07-11 at 15:28 -0400, Toby Johnson wrote:
> > > I was surprised to find that no one has worked on C# bindings for
> > > Subversion, now that SWIG supports that language. I started to look into
> > > what the effort would be to work on this, assuming I could start with
> > > the Perl and Ruby bindings as examples, but unfortunately my knowledge
> > > of C is limited and my knowledge of Makefiles even more so.
> > >
> > > So I guess my first question is whether I'm in over my head... maybe my
> > > understanding of SWIG is flawed but I figured once bindings were there
> > > for one language, others would be more or less trivial, but looking at
> > > the libsvn_swig_xx "utility" functions this doesn't seem to be the case.
> > > It seems that not only is a lot of non-trivial C required, but a rather
> > > deep understanding of the Subversion internals.
> > >
> > > Is my assessment of the effort involved here correct, and if so, is
> > > there anyone else with more knowledge of Subversion who has attempted to
> > > generate the C# bindings? I'd be willing to help out with the C# coding
> > > and some of the simpler C stuff if there is any other interest in this
> > > from someone who understands the Subversion internals.
> > >
> > From previous experience with C#, I'd say writing bindings without SWIG
> > might actually be easier. C#'s P/Invoke is very powerful.
> > See the attached C# file for a quick 'n' dirty, but working, example.
> Thanks, that doesn't look so bad after all. This email
> <http://svn.haxx.se/dev/archive-2003-02/0119.shtml> turned me off from
> exploring the P/Invoke route but after I reread, I realized they were
> looking at Windows only. Going the Mono route certainly looks much
I'm not sure what the status of shared libs on Windows is at the moment,
not being able to use them on Windows might be a blocker.
> I was also hoping that SWIG would help with the tedium of keeping the
> libraries in sync w/ the official Subversion library but it looks like
> that's unavoidable.
Subversion has done a very good job keeping the API stable during the
current major release series (1.x), so I wouldn't really worry about the
bindings breaking. SWIG bindings will also need a lot of work if you
want them to be sane (use the concepts you'd expect from .NET bindings,
Jelmer Vernooij <jelmer_at_samba.org> - http://samba.org/~jelmer/
Received on Tue Jul 11 22:33:05 2006