You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Laran Evans <la...@laranevans.com> on 2009/05/19 19:08:30 UTC

RE: Re: PHP + SWIG and SVN

Any update on PHP bindings for Subversion? I'd love to see them. Would anyone be willing to venture a guess as to how long it would take to develop them?

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2318410

RE: Re: PHP + SWIG and SVN

Posted by Martin Furter <mf...@rola.ch>.
On Tue, 19 May 2009, Laran Evans wrote:

> Any update on PHP bindings for Subversion? I'd love to see them. Would 
> anyone be willing to venture a guess as to how long it would take to 
> develop them?

I don't want to scare you away but it's a lot of work!

Run the following commandline in the root of the subversion source:

egrep '^svn_[a-zA-Z0-9_]* *\(' subversion/include/*.h |
sed 's/^[^:]*:svn_\([^(_]*\)[(_].*$/\1/' |
sort | uniq -c | sort

The output will be the number of functions followed by the module name 
containing them.
Here are the last few lines as of r37338:

      28 stream
      39 path
      75 io
      86 ra
      96 repos
     101 fs
     131 client
     160 wc

The sum of all functions is 1153, ignoring the functions ending with a 
digit it's still 903. (there may be some false positives but after a quick 
look at svn_wc.h i haven't seen any in there)

A lot of work if you do it manually.

Another option is using swig (I hope swig supports PHP). But then you 
write about 100k lines support code. Also a lot of work.

Probably the easiest way is using svncpp (http://rapidsvn.tigris.org/) but 
it wraps the client side functions only. svncpp seems to also support 
swig, maybe that makes it even more easy...

HTH
Martin

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2353629