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

Re: Merging the ctypes python bindings to trunk

From: Arfrever Frehtes Taifersar Arahesis <arfrever.fta_at_gmail.com>
Date: Mon, 22 Sep 2008 00:25:57 +0200

2008-09-22 00:05:18 David James napisaƂ(a):
> Dear Subversion Developers,
>
> At long last, the ctypes python bindings are ready to merge to trunk.
>
> The new ctypes Python bindings offer the following advantages over the
> old SWIG Python bindings:
> 1. First and foremost, the ctypes bindings are complete and are
> generated entirely automatically. They offer complete access to all
> functionality provided by the Subversion library, so there is nothing
> that you won't be able to do. New features should be available in the
> ctypes bindings immediately.
> 2. The ctypes bindings are straightforward, and don't have any
> special "transformation" rules. All of the documentation for the
> Subversion C library applies equally to the ctypes bindings.
> 3. The ctypes bindings are pure python and cross-platform. You can
> generate the function definitions on one platform and copy them to
> another platform without incident. In other words, your users don't
> need a compiler to install the binding.
> 4. The ctypes bindings are both forward and backward compatible with
> different versions of Subversion and different libraries, as long as
> the functions you use in your programs have compatible definitions.
> 5. Besides the low-level bindings, the ctypes bindings have high
> level classes which make it easy to access common Subversion
> functionality in a Pythonic way. These classes do not offer complete
> access to all Subversion features, but they are often more convenient
> and easier to use than the raw ctypes library.
>
> NOTE: The bindings have been tested on Mac OS X, Linux, and Windows.
> To test on Windows, I build the csvn Python bindings on Linux and then
> copy the generated Python files to Windows.
>
> I'd like to merge the ctypes python bindings to trunk using the
> following command:
> $ svn cp http://svn.collab.net/repos/svn/branches/ctypes-python-bindings
> http://svn.collab.net/repos/svn/trunk/subversion/bindings/ctypes-python-bindings

I would like to suggest to use `svn mv` and to place the ctypes python
bindings in ^/trunk/subversion/bindings/ctypes-python directory. The name
of the 'bindings' directory informs that its subdirectories contains
Subversion bindings.

> At first, the only way to install the ctypes python bindings will be
> to follow the instructions listed in the README. After we merge to
> trunk, I'd like to address the tasks listed in
> http://svn.collab.net/repos/svn/branches/ctypes-python-bindings/TODO,
> so that folks can install the bindings using standard make targets.
> Jeremy Whitlock has volunteered to help with this process (Thanks
> Jeremy!).
>
> To help answer common questions, I've included a little FAQ document
> about the ctypes python bindings below.
>
> ----------------------------------------------------------------------
>
> Q. Will the Python SWIG bindings be deprecated?
>
> A. This is up for discussion. I do think we should encourage folks to
> move to the new ctypes bindings, especially for new systems. However,
> we should also understand that many people may not want to port their
> old code.
>
> In any case, I expect that there will still be some demand for bug
> fixes and features in the old bindings. In my opinion, folks who are
> interested in still working on the old bindings are welcome to
> continue their work. However, we should also try to update our
> documentation to encourage folks to move to the new ctypes bindings.
>
> ----------------------------------------------------------------------
>
> Q. Can I upgrade to the latest ctypes python bindings without
> upgrading Subversion?
>
> A. Yes. The current ctypes python bindings work with Subversion 1.4 or
> later. The new bindings can be installed separately from Subversion
> and will work with the version of Subversion you have installed.

Some high-level functions use deprecated Subversion functions, e.g. new depth
functionality isn't used. Can ctypes python bindings be updated to use
new functions?

-- 
Arfrever Frehtes Taifersar Arahesis

Received on 2008-09-22 00:28:59 CEST

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