M
Markus Schaber
Hi,
at one of our projects, we could make use of a subversion interface for
IronPython. But there seems none to exist.
The easiest way would be to directly expose SharpSVN to the IronPython
scripts, but that is not a very pythonic solution. So we had the Idea
of porting the existing python interfaces to IronPython.
And here the confusion starts, there seem to exist at least three of
them (those are the ones I found being prepackaged on debian):
python-subversion: Seems to be a rather autogenerated wrapper around
libsvn - thus being feature-complete, but rather unpythonic.
python-svn (pysvn): Seems to be written in C++, and give a somehow
pythonic interface to the most important functionality.
python-subvertpy: Seems to aggregate the advantages of the two previous
solutions, but I did not find any API documentation.
It seems that porting one of them to IronPython in a 1:1 fashion is no
feasible solution.
So I came up with the Idea of simply re-implementing the API of one of
those packages in C#, in a way that it can be exposed as IronPython
module, using SharpSVN or Monodevelop-VersionControl as backend. This
seems to be a rather low cost way of providing subversion functionality
to IronPython, in a way compatible with at least some of the cPython
Subversion applications.
Now my question:
Which one of the SVN interfaces are established and broadly used?
I don't want to risk to put effort into implementing a dead API when
others are alive.
I have a slight tendency to pysvn, as it seems to be well documented
and pythonic.
Thanks for your comments.
Markus
at one of our projects, we could make use of a subversion interface for
IronPython. But there seems none to exist.
The easiest way would be to directly expose SharpSVN to the IronPython
scripts, but that is not a very pythonic solution. So we had the Idea
of porting the existing python interfaces to IronPython.
And here the confusion starts, there seem to exist at least three of
them (those are the ones I found being prepackaged on debian):
python-subversion: Seems to be a rather autogenerated wrapper around
libsvn - thus being feature-complete, but rather unpythonic.
python-svn (pysvn): Seems to be written in C++, and give a somehow
pythonic interface to the most important functionality.
python-subvertpy: Seems to aggregate the advantages of the two previous
solutions, but I did not find any API documentation.
It seems that porting one of them to IronPython in a 1:1 fashion is no
feasible solution.
So I came up with the Idea of simply re-implementing the API of one of
those packages in C#, in a way that it can be exposed as IronPython
module, using SharpSVN or Monodevelop-VersionControl as backend. This
seems to be a rather low cost way of providing subversion functionality
to IronPython, in a way compatible with at least some of the cPython
Subversion applications.
Now my question:
Which one of the SVN interfaces are established and broadly used?
I don't want to risk to put effort into implementing a dead API when
others are alive.
I have a slight tendency to pysvn, as it seems to be well documented
and pythonic.
Thanks for your comments.
Markus