diff -Nru subvertpy-0.8.9/debian/changelog subvertpy-0.8.10/debian/changelog --- subvertpy-0.8.9/debian/changelog 2011-11-04 14:19:57.000000000 +0000 +++ subvertpy-0.8.10/debian/changelog 2012-03-11 00:07:59.000000000 +0000 @@ -1,8 +1,23 @@ -subvertpy (0.8.9-1~bazaar1~oneiric1) oneiric; urgency=low +subvertpy (0.8.10-2~bazaar1~oneiric1) oneiric; urgency=low * Rebuild in PPA. - -- Max Bowsher <_@maxb.eu> Fri, 04 Nov 2011 14:19:57 +0000 + -- Max Bowsher <_@maxb.eu> Sun, 11 Mar 2012 00:07:59 +0000 + +subvertpy (0.8.10-2) unstable; urgency=low + + * Install manual page for subvertpy-fast-export. + * Bump standards version to 3.9.3 (no changes). + * Fix format string of copyright file format. + + -- Jelmer Vernooij Tue, 28 Feb 2012 13:58:26 +0100 + +subvertpy (0.8.10-1) unstable; urgency=low + + * New upstream release. + * Format copyright file according to DEP-5. + + -- Jelmer Vernooij Mon, 23 Jan 2012 14:23:34 +0100 subvertpy (0.8.9-1) unstable; urgency=low diff -Nru subvertpy-0.8.9/debian/control subvertpy-0.8.10/debian/control --- subvertpy-0.8.9/debian/control 2011-10-26 02:54:57.000000000 +0000 +++ subvertpy-0.8.10/debian/control 2012-02-28 12:57:47.000000000 +0000 @@ -11,7 +11,7 @@ python-docutils, python-pydoctor (>= 0.3+bzr567), python-testtools -Standards-Version: 3.9.2 +Standards-Version: 3.9.3 X-Python-Version: >= 2.4 Vcs-Bzr: http://bzr.debian.org/users/jelmer/subvertpy/unstable diff -Nru subvertpy-0.8.9/debian/copyright subvertpy-0.8.10/debian/copyright --- subvertpy-0.8.9/debian/copyright 2011-06-17 15:08:43.000000000 +0000 +++ subvertpy-0.8.10/debian/copyright 2012-02-28 12:58:07.000000000 +0000 @@ -1,12 +1,12 @@ -Format-Specification: http://wiki.debian.org/Proposals/CopyrightFormat?action=recall&rev=143 +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: subvertpy +Upstream-Contact: Jelmer Vernooij +Source: http://samba.org/~jelmer/subvertpy Debianized-By: Jelmer Vernooij Debianized-Date: Wed Nov 12 12:50:24 CET 2008 -It was downloaded from http://samba.org/~jelmer/subvertpy. - Files: * -Copyright: Copyright 2005-2009 Jelmer Vernooij +Copyright: 2005-2012 Jelmer Vernooij License: LGPL-2.1+ On Debian systems the full text of the GNU Lesser General Public License version 2.1 can be found in the `/usr/share/common-licenses/LGPL-2.1' file. diff -Nru subvertpy-0.8.9/debian/manpages subvertpy-0.8.10/debian/manpages --- subvertpy-0.8.9/debian/manpages 1970-01-01 00:00:00.000000000 +0000 +++ subvertpy-0.8.10/debian/manpages 2012-02-28 12:55:47.000000000 +0000 @@ -0,0 +1 @@ +man/subvertpy-fast-export.1 diff -Nru subvertpy-0.8.9/Makefile subvertpy-0.8.10/Makefile --- subvertpy-0.8.9/Makefile 2011-10-26 00:23:01.000000000 +0000 +++ subvertpy-0.8.10/Makefile 2012-01-23 13:18:04.000000000 +0000 @@ -21,11 +21,14 @@ $(SETUP) install check:: build-inplace - $(RUNTEST) subvertpy.tests.test_suite + $(RUNTEST) $(TEST_OPTIONS) subvertpy.tests.test_suite gdb-check:: $(MAKE) check DEBUGGER="gdb --args" +check-one:: + $(MAKE) check TEST_OPTIONS=-f + clean:: $(SETUP) clean rm -f subvertpy/*.so subvertpy/*.o subvertpy/*.pyc diff -Nru subvertpy-0.8.9/NEWS subvertpy-0.8.10/NEWS --- subvertpy-0.8.9/NEWS 2011-10-26 00:23:01.000000000 +0000 +++ subvertpy-0.8.10/NEWS 2012-01-23 13:18:04.000000000 +0000 @@ -1,3 +1,14 @@ +0.8.10 2012-01-23 + + BUG FIXES + + * Fix test suite on Cygwin. (Ronald Blaschke) + + * Support windows-cryptoapi on Cygwin. (Ronald Blaschke) + + * Include wc.h in wc.c. FIxes build on NetBSD 5.1/amd64. + (#894659) + 0.8.9 2011-10-25 BUG FIXES diff -Nru subvertpy-0.8.9/README subvertpy-0.8.10/README --- subvertpy-0.8.9/README 1970-01-01 00:00:00.000000000 +0000 +++ subvertpy-0.8.10/README 2012-01-23 13:18:04.000000000 +0000 @@ -0,0 +1,46 @@ +Subvertpy +========= + +Homepage: http://samba.org/~jelmer/subvertpy/ + +Python bindings for the Subversion version control system that are aimed to be +complete, fast and feel native to Python programmers. + +Bindings are provided for the working copy, client, delta, remote access and +repository APIs. A hookable server side implementation of the custom Subversion +protocol (svn_ra) is also provided. + +Differences with similar packages +--------------------------------- +subvertpy covers more of the APIs than python-svn. It provides a more +"Pythonic" API than python-subversion, which wraps the Subversion C API pretty +much directly. Neither provide a hookable server-side. + +Dependencies +------------ +Subvertpy depends on Python 2.4 or later, and Subversion 1.4 or later. It should +work on Windows as well as most POSIX-based platforms (including Linux, BSDs +and Mac OS X). + +A port to Python 3 is planned but has not happened yet. Patches are welcome. + +Installation +------------ +Standard distutils are used - use "setup.py build" to build and "setup.install" +to install. On most platforms, setup will find the Python and Subversion +development libraries by itself. On Windows you may have to set various +environment variables, see the next section for details. + +Build instructions for Windows +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +* Install the SVN dev kit ZIP for Windows from + http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 + E.g. svn-win32-1.4.6_dev.zip +* Find the SVN binary ZIP file with the binaries for your dev kit. + E.g. svn-win32-1.4.6.zip + Unzip this in the *same directory* as the dev kit - README.txt will be + overwritten, but that is all. This is the default location the .ZIP file + will suggest (ie, the directory embedded in both .zip files are the same) +* Set SVN_DEV to point at this directory. +* Install the APR BDB and INTL packages - see README.txt from the devkit +* Set SVN_BDB and SVN_LIBINTL to point at these dirs. diff -Nru subvertpy-0.8.9/setup.py subvertpy-0.8.10/setup.py --- subvertpy-0.8.9/setup.py 2011-10-26 00:23:01.000000000 +0000 +++ subvertpy-0.8.10/setup.py 2012-01-23 13:18:04.000000000 +0000 @@ -10,19 +10,6 @@ import os import re -# Build instructions for Windows: -# * Install the SVN dev kit ZIP for Windows from -# http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 -# At time of writing, this was svn-win32-1.4.6_dev.zip -# * Find the SVN binary ZIP file with the binaries for your dev kit. -# At time of writing, this was svn-win32-1.4.6.zip -# Unzip this in the *same directory* as the dev kit - README.txt will be -# overwritten, but that is all. This is the default location the .ZIP file -# will suggest (ie, the directory embedded in both .zip files are the same) -# * Set SVN_DEV to point at this directory. -# * Install the APR BDB and INTL packages - see README.txt from the devkit -# * Set SVN_BDB and SVN_LIBINTL to point at these dirs. - class CommandException(Exception): """Encapsulate exit status of command execution""" def __init__(self, msg, cmd, arg, status, val): @@ -258,29 +245,31 @@ (apu_includedir, apu_link_flags) = apu_build_data() (svn_includedirs, svn_libdirs, svn_link_flags, extra_libs) = svn_build_data() -def SvnExtension(name, *args, **kwargs): - kwargs["include_dirs"] = ([apr_includedir, apu_includedir] + svn_includedirs + - ["subvertpy"]) - kwargs["library_dirs"] = svn_libdirs - # Note that the apr-util link flags are not included here, as - # subvertpy only uses some apr util constants but does not use - # the library directly. - kwargs["extra_link_args"] = apr_link_flags + svn_link_flags - if os.name == 'nt': - # on windows, just ignore and overwrite the libraries! - kwargs["libraries"] = extra_libs - # APR needs WIN32 defined. - kwargs["define_macros"] = [("WIN32", None)] - if sys.platform == 'darwin': - # on Mac OS X, we need to check for Keychain availability - if is_keychain_provider_available(): - if "define_macros" not in kwargs: - kwargs["define_macros"] = [] - kwargs["define_macros"].extend(( - ('DARWIN', None), - ('SVN_KEYCHAIN_PROVIDER_AVAILABLE', '1')) - ) - return Extension(name, *args, **kwargs) +class SvnExtension(Extension): + + def __init__(self, name, *args, **kwargs): + kwargs["include_dirs"] = ([apr_includedir, apu_includedir] + svn_includedirs + + ["subvertpy"]) + kwargs["library_dirs"] = svn_libdirs + # Note that the apr-util link flags are not included here, as + # subvertpy only uses some apr util constants but does not use + # the library directly. + kwargs["extra_link_args"] = apr_link_flags + svn_link_flags + if os.name == 'nt': + # on windows, just ignore and overwrite the libraries! + kwargs["libraries"] = extra_libs + # APR needs WIN32 defined. + kwargs["define_macros"] = [("WIN32", None)] + if sys.platform == 'darwin': + # on Mac OS X, we need to check for Keychain availability + if is_keychain_provider_available(): + if "define_macros" not in kwargs: + kwargs["define_macros"] = [] + kwargs["define_macros"].extend(( + ('DARWIN', None), + ('SVN_KEYCHAIN_PROVIDER_AVAILABLE', '1')) + ) + Extension.__init__(self, name, *args, **kwargs) # On Windows, we install the apr binaries too. @@ -345,7 +334,7 @@ ] -subvertpy_version = (0, 8, 9) +subvertpy_version = (0, 8, 10) subvertpy_version_string = ".".join(map(str, subvertpy_version)) diff -Nru subvertpy-0.8.9/subvertpy/__init__.py subvertpy-0.8.10/subvertpy/__init__.py --- subvertpy-0.8.9/subvertpy/__init__.py 2011-10-26 00:23:01.000000000 +0000 +++ subvertpy-0.8.10/subvertpy/__init__.py 2012-01-23 13:18:04.000000000 +0000 @@ -17,7 +17,7 @@ """Python bindings for Subversion.""" __author__ = "Jelmer Vernooij " -__version__ = (0, 8, 9) +__version__ = (0, 8, 10) NODE_DIR = 2 NODE_FILE = 1 @@ -48,7 +48,7 @@ ERR_FS_NOT_FOUND = 160013 ERR_FS_ALREADY_EXISTS = 160020 ERR_RA_SVN_REPOS_NOT_FOUND = 210005 -ERR_WC_NOT_DIRECTORY = 155007 +ERR_WC_NOT_WORKING_COPY = ERR_WC_NOT_DIRECTORY = 155007 ERR_ENTRY_EXISTS = 150002 ERR_WC_PATH_NOT_FOUND = 155010 ERR_CANCELLED = 200015 diff -Nru subvertpy-0.8.9/subvertpy/_ra.c subvertpy-0.8.10/subvertpy/_ra.c --- subvertpy-0.8.9/subvertpy/_ra.c 2011-10-26 00:23:01.000000000 +0000 +++ subvertpy-0.8.10/subvertpy/_ra.c 2012-01-23 13:18:04.000000000 +0000 @@ -3047,7 +3047,7 @@ return ret; } -#if defined(WIN32) +#if defined(WIN32) || defined(__CYGWIN__) static PyObject *get_windows_simple_provider(PyObject* self) { AuthProviderObject *auth = PyObject_New(AuthProviderObject, &AuthProvider_Type); @@ -3153,7 +3153,7 @@ return NULL; } -#if defined(WIN32) +#if defined(WIN32) || defined(__CYGWIN__) provider = get_windows_simple_provider(self); if (provider == NULL) return NULL; @@ -3167,7 +3167,7 @@ PyList_Append(pylist, provider); Py_DECREF(provider); #endif /* 1.5 */ -#endif /* WIN32 */ +#endif /* WIN32 || __CYGWIN__ */ #if defined(SVN_KEYCHAIN_PROVIDER_AVAILABLE) provider = get_keychain_simple_provider(self); @@ -3193,7 +3193,7 @@ { "get_ssl_client_cert_file_provider", (PyCFunction)get_ssl_client_cert_file_provider, METH_NOARGS, NULL }, { "get_ssl_server_trust_file_provider", (PyCFunction)get_ssl_server_trust_file_provider, METH_NOARGS, NULL }, { "get_simple_provider", (PyCFunction)get_simple_provider, METH_VARARGS, NULL }, -#if defined(WIN32) +#if defined(WIN32) || defined(__CYGWIN__) { "get_windows_simple_provider", (PyCFunction)get_windows_simple_provider, METH_NOARGS, NULL }, #if ONLY_SINCE_SVN(1, 5) { "get_windows_ssl_server_trust_provider", (PyCFunction)get_windows_ssl_server_trust_provider, METH_NOARGS, NULL }, diff -Nru subvertpy-0.8.9/subvertpy/tests/__init__.py subvertpy-0.8.10/subvertpy/tests/__init__.py --- subvertpy-0.8.9/subvertpy/tests/__init__.py 2011-10-26 00:23:01.000000000 +0000 +++ subvertpy-0.8.10/subvertpy/tests/__init__.py 2012-01-23 13:18:04.000000000 +0000 @@ -202,6 +202,10 @@ super(SubversionTestCase, self).setUp() self._init_client() + def tearDown(self): + del self.client_ctx + super(SubversionTestCase, self).tearDown() + def log_message_func(self, items): return self.next_message diff -Nru subvertpy-0.8.9/subvertpy/tests/test_client.py subvertpy-0.8.10/subvertpy/tests/test_client.py --- subvertpy-0.8.9/subvertpy/tests/test_client.py 2011-10-26 00:23:01.000000000 +0000 +++ subvertpy-0.8.10/subvertpy/tests/test_client.py 2012-01-23 13:18:04.000000000 +0000 @@ -49,6 +49,10 @@ self.repos_url = self.make_client("d", "dc") self.client = client.Client(auth=ra.Auth([ra.get_username_provider()])) + def tearDown(self): + del self.client + super(TestClient, self).tearDown() + def test_add(self): self.build_tree({"dc/foo": None}) self.client.add("dc/foo") @@ -90,7 +94,6 @@ adm = wc.WorkingCopy(None, os.path.join(os.getcwd(), "dc")) e = adm.entry(os.path.join(os.getcwd(), "dc", "trunk")) self.assertEquals(e.kind, NODE_DIR) - self.assertEquals(e.revision, -1) adm2 = wc.WorkingCopy(None, os.path.join(os.getcwd(), "dc", "trunk")) e = adm2.entry(os.path.join(os.getcwd(), "dc", "trunk", "foo")) self.assertEquals(e.kind, NODE_FILE) diff -Nru subvertpy-0.8.9/subvertpy/tests/test_ra.py subvertpy-0.8.10/subvertpy/tests/test_ra.py --- subvertpy-0.8.9/subvertpy/tests/test_ra.py 2011-10-26 00:23:01.000000000 +0000 +++ subvertpy-0.8.10/subvertpy/tests/test_ra.py 2012-01-23 13:18:04.000000000 +0000 @@ -53,6 +53,10 @@ self.ra = ra.RemoteAccess(self.repos_url, auth=ra.Auth([ra.get_username_provider()])) + def tearDown(self): + del self.ra + super(TestRemoteAccess, self).tearDown() + def commit_editor(self): return self.get_commit_editor(self.repos_url) diff -Nru subvertpy-0.8.9/subvertpy/tests/test_wc.py subvertpy-0.8.10/subvertpy/tests/test_wc.py --- subvertpy-0.8.9/subvertpy/tests/test_wc.py 2011-10-26 00:23:01.000000000 +0000 +++ subvertpy-0.8.10/subvertpy/tests/test_wc.py 2012-01-23 13:18:04.000000000 +0000 @@ -18,6 +18,7 @@ from StringIO import StringIO import os +import subvertpy from subvertpy import ( NODE_FILE, wc, @@ -114,7 +115,6 @@ def test_add_repos_file(self): repos_url = self.make_client("repos", "checkout") adm = wc.WorkingCopy(None, "checkout", True) - adm.add_repos_file("checkout/bar", StringIO("oldbasecontents"), StringIO("oldcontents"), {}, {}) adm.add_repos_file("checkout/bar", StringIO("basecontents"), StringIO("contents"), {}, {}) self.assertEquals("basecontents", wc.get_pristine_contents("checkout/bar").read()) @@ -280,7 +280,7 @@ self.client_add('checkout/bar') adm = wc.WorkingCopy(None, "checkout", True) cq = wc.CommittedQueue() - cq.queue("bar", adm) + cq.queue(os.path.join(self.test_dir, "checkout/bar"), adm) adm.process_committed_queue(cq, 1, "2010-05-31T08:49:22.430000Z", "jelmer") bar = adm.entry("checkout/bar") self.assertEquals("bar", bar.name) @@ -292,5 +292,9 @@ self.build_tree({"checkout/bar": "la"}) self.client_add('checkout/bar') adm = wc.WorkingCopy(None, "checkout", True) - self.assertIs(None, adm.probe_try(self.test_dir)) + try: + self.assertIs(None, adm.probe_try(self.test_dir)) + except subvertpy.SubversionException, (msg, num): + if num != subvertpy.ERR_WC_NOT_WORKING_COPY: + raise self.assertEquals("checkout", adm.probe_try(os.path.join("checkout", "bar")).access_path()) diff -Nru subvertpy-0.8.9/subvertpy/wc.c subvertpy-0.8.10/subvertpy/wc.c --- subvertpy-0.8.9/subvertpy/wc.c 2011-10-26 00:23:01.000000000 +0000 +++ subvertpy-0.8.10/subvertpy/wc.c 2012-01-23 13:18:04.000000000 +0000 @@ -27,6 +27,7 @@ #include "util.h" #include "editor.h" +#include "wc.h" #ifndef T_BOOL #define T_BOOL T_BYTE