[Python-modules-commits] [pysvn] 01/07: Import pysvn_1.8.0.orig.tar.gz

Josué Ortega noahfx-guest at moszumanska.debian.org
Mon Nov 2 01:15:43 UTC 2015


This is an automated email from the git hooks/post-receive script.

noahfx-guest pushed a commit to branch master
in repository pysvn.

commit a1f29e479b9efe37859cf989743d5e9a9bbe785b
Author: Josue Ortega <josueortega at debian.org.gt>
Date:   Sun Nov 1 18:49:57 2015 -0600

    Import pysvn_1.8.0.orig.tar.gz
---
 Builder/builder_custom_init.cmd               |  39 +-
 Builder/make-devel-rpm-build.sh               |  23 +
 Builder/version.info                          |   4 +-
 Examples/Client/svn_cmd.py                    |  11 +
 Kit/MacOSX/make_pkg.py                        |   3 +
 Kit/Win32-1.6/pysvn.iss                       |  46 +-
 Kit/Win32-1.6/setup_version_handling.py       |   3 +-
 Source/build.cmd                              |  28 +
 Source/pysvn/__init__.py.template             |   9 +-
 Source/pysvn_client.cpp                       |   5 +
 Source/pysvn_client_cmd_info.cpp              |  19 +-
 Source/pysvn_client_cmd_list.cpp              |  21 +-
 Source/pysvn_enum_string.cpp                  | 178 +++---
 Source/pysvn_svnenv.hpp                       |  12 +-
 Source/run_py.cmd                             |   4 +-
 Source/run_py.sh                              |   2 +-
 Source/setup_configure.py                     |  11 +-
 Tests/benchmark_diff.py                       |  37 +-
 Tests/test-01.cmd                             |   8 +-
 Tests/test-01.unix.known_good-py2-svn1.9.log  | 832 ++++++++++++++++++++++++++
 Tests/test-01.unix.known_good-py3-svn1.9.log  | 832 ++++++++++++++++++++++++++
 Tests/test-02.cmd                             |   2 +-
 Tests/test-03.cmd                             |   2 +-
 Tests/test-03.unix.known_good-py2-svn1.9.log  |  21 +
 Tests/test-03.unix.known_good-py3-svn1.9.log  |  21 +
 Tests/test-04.cmd                             |  14 +-
 Tests/test-04.unix.known_good-py2-svn1.9.log  | 278 +++++++++
 Tests/test-04.unix.known_good-py3-svn1.9.log  | 278 +++++++++
 Tests/test-05.cmd                             |   6 +-
 Tests/test-05.unix.known_good-py2-svn1.9.log  | 208 +++++++
 Tests/test-05.unix.known_good-py3-svn1.9.log  | 208 +++++++
 Tests/test-06.cmd                             |   6 +-
 Tests/test-06.unix.known_good-py2-svn1.9.log  |  90 +++
 Tests/test-06.unix.known_good-py3-svn1.9.log  |  90 +++
 Tests/test-07.cmd                             | 174 +++---
 Tests/test-07.unix.known_good-py2-svn1.9.log  |  95 +++
 Tests/test-07.unix.known_good-py3-svn1.9.log  |  95 +++
 Tests/test-07.win32.known_good-py2-svn1.7.log |  17 +-
 Tests/test-07.win32.known_good-py2-svn1.8.log |  17 +-
 Tests/test-07.win32.known_good-py3-svn1.7.log | 101 ++--
 Tests/test-07.win32.known_good-py3-svn1.8.log | 101 ++--
 Tests/test-08.cmd                             |   6 +-
 Tests/test-08.unix.known_good-py2-svn1.9.log  |  94 +++
 Tests/test-08.unix.known_good-py3-svn1.9.log  |  94 +++
 44 files changed, 3773 insertions(+), 372 deletions(-)

diff --git a/Builder/builder_custom_init.cmd b/Builder/builder_custom_init.cmd
index bedbb66..2f626ef 100644
--- a/Builder/builder_custom_init.cmd
+++ b/Builder/builder_custom_init.cmd
@@ -1,6 +1,4 @@
 @echo off
-rem figure out where we are
-for %%I in ( %0\..\.. ) do set WORKDIR=%%~fI
 
 set PY_MAJ=2
 if not "%1" == "" set PY_MAJ=%1
@@ -13,37 +11,27 @@ if not "%4" == "" set SVN_VER_MAJ_MIN=%4
 if "%SVN_VER_MAJ_MIN%" == "" set /p SVN_VER_MAJ_MIN="Build Version (1.8): "
 if "%SVN_VER_MAJ_MIN%" == "" set SVN_VER_MAJ_MIN=1.8
 
-if "%SVN_VER_MAJ_MIN%" == "1.4" set SVN_VER_MAJ_DASH_MIN=1-4
-if "%SVN_VER_MAJ_MIN%" == "1.5" set SVN_VER_MAJ_DASH_MIN=1-5
-if "%SVN_VER_MAJ_MIN%" == "1.6" set SVN_VER_MAJ_DASH_MIN=1-6
-if "%SVN_VER_MAJ_MIN%" == "1.7" set SVN_VER_MAJ_DASH_MIN=1-7
-if "%SVN_VER_MAJ_MIN%" == "1.8" set SVN_VER_MAJ_DASH_MIN=1-8
-
-
+set SVN_VER_MAJ_DASH_MIN=%SVN_VER_MAJ_MIN:.=-%
 rem Save CWD
 pushd .
 
-rem in development the version info can be found
-rem otherwise the builder will have run it already
-if "%PY_MAJ%.%PY_MIN%" == "2.4" set COMPILER=msvc71
-if "%PY_MAJ%.%PY_MIN%" == "2.5" set COMPILER=msvc71
-if "%PY_MAJ%.%PY_MIN%" == "2.6" set COMPILER=msvc90
-if "%PY_MAJ%.%PY_MIN%" == "2.7" set COMPILER=msvc90
-if "%PY_MAJ%.%PY_MIN%" == "3.0" set COMPILER=msvc90
-if "%PY_MAJ%.%PY_MIN%" == "3.1" set COMPILER=msvc90
-if "%PY_MAJ%.%PY_MIN%" == "3.2" set COMPILER=msvc90
-
-if exist ..\..\ReleaseEngineering\win32-%COMPILER%\software-versions-%SVN_VER_MAJ_MIN%.cmd (
-    pushd ..\..\ReleaseEngineering\win32-%COMPILER%
+set VC_VER=9.0
+
+if exist ..\..\ReleaseEngineering\win32-vc-%VC_VER%\software-versions-%SVN_VER_MAJ_MIN%.cmd (
+    echo Setting up compiler VC %VC_VER%
+    pushd ..\..\ReleaseEngineering\win32-vc-%VC_VER%
     call software-versions-%SVN_VER_MAJ_MIN%.cmd off
     popd
-    )
+) else (
+    echo No compiler setup found
+    pause
+)
 
-set PYCXX=%WORKDIR%\Import\pycxx-%PYCXX_VER%
+set PYCXX=%BUILDER_TOP_DIR%\Import\pycxx-%PYCXX_VER%
 set PY=c:\python%PY_MAJ%%PY_MIN%.win32
 if not exist %PY%\python.exe set PY=c:\python%PY_MAJ%%PY_MIN%
 
-set PYTHONPATH=%WORKDIR%\Source
+set PYTHONPATH=%BUILDER_TOP_DIR%\Source
 set PYTHON=%PY%\python.exe
 
 rem Need python and SVN on the path
@@ -51,7 +39,8 @@ PATH %PY%;%SVN_BIN%;%PATH%
 
 rem prove the python version selected
 python -c "import sys;print( 'Info: Python Version %%s' %% sys.version )"
-svn --version
+echo SVN Version:
+svn --version --quiet
 
 rem restore original CWD
 popd
diff --git a/Builder/make-devel-rpm-build.sh b/Builder/make-devel-rpm-build.sh
new file mode 100755
index 0000000..e6326d6
--- /dev/null
+++ b/Builder/make-devel-rpm-build.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+#
+#   make-devel-rpm-build.sh
+#
+#   Create a source kit and copy it and the rpm spec file to ~/rpmbuild locations
+#
+. ./version.info
+V=${MAJOR}.${MINOR}.${PATCH}
+rm -rf /tmp/pysvn-${V}
+
+svn export --quiet .. /tmp/pysvn-${V}
+BUILD=$( svnversion .. )
+cat <<EOF >/tmp/pysvn-workbench-${V}/Builder/version.info
+MAJOR=${MAJOR}
+MINOR=${MINOR}
+PATCH=${PATCH}
+BUILD=${BUILD}
+EOF
+echo Info: Creating source kit...
+tar czf ~/rpmbuild/SOURCES/pysvn-${V}.tar.gz -C /tmp pysvn-${V}
+echo Info: Running rpmbuild
+cd ~/rpmbuild/SPECS
+rpmbuild -ba pysvn.spec
diff --git a/Builder/version.info b/Builder/version.info
index cd692ab..77601a9 100644
--- a/Builder/version.info
+++ b/Builder/version.info
@@ -1,4 +1,4 @@
 MAJOR=1
-MINOR=7
-PATCH=10
+MINOR=8
+PATCH=0
 BUILD=0
diff --git a/Examples/Client/svn_cmd.py b/Examples/Client/svn_cmd.py
index 07485dd..f7f0aa2 100644
--- a/Examples/Client/svn_cmd.py
+++ b/Examples/Client/svn_cmd.py
@@ -199,6 +199,13 @@ if hasattr( pysvn.wc_notify_action, 'update_broken_lock' ):
     wc_notify_action_map[ pysvn.wc_notify_action.foreign_copy_begin ] = 'foreign_copy_begin'
     wc_notify_action_map[ pysvn.wc_notify_action.move_broken ] = 'move_broken'
 
+# new in svn 1.9
+if hasattr( pysvn.wc_notify_action, 'cleanup_external' ):
+    wc_notify_action_map[ pysvn.wc_notify_action.cleanup_external ] = 'cleanup_external'
+    wc_notify_action_map[ pysvn.wc_notify_action.failed_requires_target ] = 'failed_requires_target'
+    wc_notify_action_map[ pysvn.wc_notify_action.info_external ] = 'info_external'
+    wc_notify_action_map[ pysvn.wc_notify_action.commit_finalizing ] = 'commit_finalizing'
+
 class SvnCommand:
     def __init__( self, progname ):
         self.progname = progname
@@ -677,6 +684,7 @@ class SvnCommand:
 
         for arg in positional_args:
             all_files = self.client.ls( arg, revision=revision, recurse=recurse )
+            all_files.sort( key=self.__sortKeyLsList )
             if verbose:
                 for file in all_files:
                     args = {}
@@ -690,6 +698,9 @@ class SvnCommand:
                 for file in all_files:
                     print( '%(name)s' % file )
 
+    def __sortKeyLsList( self, entry ):
+        return entry['name']
+
     def cmd_list( self, args ):
         recurse = args.getBooleanOption( '--recursive', True )
         revision = args.getOptionalRevision( '--revision', 'head' )
diff --git a/Kit/MacOSX/make_pkg.py b/Kit/MacOSX/make_pkg.py
index 71ec509..f085596 100644
--- a/Kit/MacOSX/make_pkg.py
+++ b/Kit/MacOSX/make_pkg.py
@@ -90,6 +90,9 @@ elif pymaj == 3 and pymin == 3:
 elif pymaj == 3 and pymin == 4:
     install_dir = '/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages'
 
+elif pymaj == 3 and pymin == 5:
+    install_dir = '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages'
+
 else:
     raise RuntimeError( 'Unsupported version of python' )
 
diff --git a/Kit/Win32-1.6/pysvn.iss b/Kit/Win32-1.6/pysvn.iss
index becf7bb..e170760 100644
--- a/Kit/Win32-1.6/pysvn.iss
+++ b/Kit/Win32-1.6/pysvn.iss
@@ -13,13 +13,23 @@ begin
         '', install_path );
     if not rcb then
     begin
-        rcb := RegQueryStringValue( HKCU,
-            'SOFTWARE\Python\PythonCore\%(py_maj)d.%(py_min)d\InstallPath', '', install_path );
+        rcb := RegQueryStringValue( HKLM,
+            'SOFTWARE\Python\PythonCore\%(py_maj)d.%(py_min)d-32\InstallPath', '', install_path );
         if not rcb then
         begin
-            MsgBox( 'pysvn requires Python %(py_maj)d.%(py_min)d to be installed.' #13 #13
-                    'Quitting installation',
-                 mbError, MB_OK );
+            rcb := RegQueryStringValue( HKCU,
+                'SOFTWARE\Python\PythonCore\%(py_maj)d.%(py_min)d\InstallPath', '', install_path );
+            if not rcb then
+            begin
+                rcb := RegQueryStringValue( HKCU,
+                    'SOFTWARE\Python\PythonCore\%(py_maj)d.%(py_min)d-32\InstallPath', '', install_path );
+                if not rcb then
+                begin
+                    MsgBox( 'pysvn requires Python %(py_maj)d.%(py_min)d to be installed.' #13 #13
+                            'Quitting installation',
+                         mbError, MB_OK );
+                end;
+            end;
         end;
     end;
     Result := rcb;
@@ -39,8 +49,8 @@ begin
     end
     else
     begin
-        rcb := RegQueryStringValue( HKCU,
-            'SOFTWARE\Python\PythonCore\%(py_maj)d.%(py_min)d\InstallPath',
+        rcb := RegQueryStringValue( HKLM,
+            'SOFTWARE\Python\PythonCore\%(py_maj)d.%(py_min)d-32\InstallPath',
             '', install_path );
         if rcb then
         begin
@@ -48,7 +58,27 @@ begin
         end
         else
         begin
-            Result := 'c:\python%(py_maj)d.%(py_min)d';
+            rcb := RegQueryStringValue( HKCU,
+                'SOFTWARE\Python\PythonCore\%(py_maj)d.%(py_min)d\InstallPath',
+                '', install_path );
+            if rcb then
+            begin
+                Result := install_path;
+            end
+            else
+            begin
+                rcb := RegQueryStringValue( HKCU,
+                    'SOFTWARE\Python\PythonCore\%(py_maj)d.%(py_min)d-32\InstallPath',
+                    '', install_path );
+                if rcb then
+                begin
+                    Result := install_path;
+                end
+                else
+                begin
+                    Result := 'c:\python%(py_maj)d.%(py_min)d';
+                end;
+            end;
         end;
     end;
 end;
diff --git a/Kit/Win32-1.6/setup_version_handling.py b/Kit/Win32-1.6/setup_version_handling.py
index 5deb0f8..9a2f9de 100644
--- a/Kit/Win32-1.6/setup_version_handling.py
+++ b/Kit/Win32-1.6/setup_version_handling.py
@@ -47,7 +47,6 @@ f.close()
 
 all_dlls = [dll for dll in os.listdir( 'tmp' ) if dll.lower().endswith( '.dll' )]
 
-
 msvc90_dlls = [
     R'c:\Program Files (x86)\Microsoft Visual Studio 9.0\vc\redist\x86\Microsoft.VC90.CRT\Microsoft.VC90.CRT.manifest',
     R'c:\Program Files (x86)\Microsoft Visual Studio 9.0\vc\redist\x86\Microsoft.VC90.CRT\msvcm90.dll',
@@ -55,6 +54,8 @@ msvc90_dlls = [
     R'c:\Program Files (x86)\Microsoft Visual Studio 9.0\vc\redist\x86\Microsoft.VC90.CRT\msvcr90.dll',
     ]
 
+msvc90_dlls = []
+
 if py_maj == 3:
     all_dlls.extend( msvc90_dlls )
 
diff --git a/Source/build.cmd b/Source/build.cmd
new file mode 100644
index 0000000..7ce5ebb
--- /dev/null
+++ b/Source/build.cmd
@@ -0,0 +1,28 @@
+setlocal
+if not "%1" == "" set PYVER=%1
+if "%PYVER%" == "" set /P PYVER="Python version (Mm): "
+if not EXIST c:\python%PYVER%.win32\python.exe (
+    echo Error: Unknown python version
+    exit /b 2
+    )
+
+if not "%2" == "" set SVNVER=%2
+if "%SVNVER%" == "" set /P SVNVER="SVN version (M.m.P): "
+
+if not EXIST c:\BuildRoot\Win32-MSVC90-%SVNVER%\svn-win32-%SVNVER%\bin\svn.exe (
+    echo Error: Unknown SVN version
+    exit /b 2
+    )
+
+c:\python%PYVER%.win32\python setup.py configure --verbose --platform=win32 --pycxx-dir=%USERPROFILE%\wc\svn\PyCxx --svn-root-dir=c:\BuildRoot\Win32-MSVC90-%SVNVER%\svn-win32-%SVNVER%
+if ERRORLEVEL 1 goto :EOF
+nmake clean
+if ERRORLEVEL 1 goto :EOF
+nmake
+if ERRORLEVEL 1 goto :EOF
+cd ..\Tests
+if ERRORLEVEL 1 goto :EOF
+nmake clean
+if ERRORLEVEL 1 goto :EOF
+nmake
+endlocal
diff --git a/Source/pysvn/__init__.py.template b/Source/pysvn/__init__.py.template
index 10b4aa5..6631489 100644
--- a/Source/pysvn/__init__.py.template
+++ b/Source/pysvn/__init__.py.template
@@ -21,13 +21,20 @@ class PysvnDictBase(user_dict_base):
         user_dict_base.__init__( self, value_dict )
         self.__name = name
         if self.__name is None:
-            print( '%s given None as name' % self.__class__.__name__ )
+            print( '%s given None as name' % (self.__class__.__name__,) )
 
     def __getattr__( self, name ):
         if name in self.data:
             return self.data[ name ]
         raise AttributeError( "%s instance has no attribute '%s'" % (self.__class__.__name__, name) )
 
+    def _key( self ):
+        return self.__name
+
+    # make orderable for python3
+    def __lt__( self, other ):
+        return self._key() < other._key()
+
     def __repr__( self ):
         return '<%s %s>' % (self.__class__.__name__, repr(self.__name))
 
diff --git a/Source/pysvn_client.cpp b/Source/pysvn_client.cpp
index f8877ed..c242ddc 100644
--- a/Source/pysvn_client.cpp
+++ b/Source/pysvn_client.cpp
@@ -721,6 +721,11 @@ Py::Object pysvn_client::cmd_root_url_from_path( const Py::Tuple& a_args, const
     {
         std::string norm_path( svnNormalisedIfPath( path, pool ) );
 
+        checkThreadPermission();
+
+        PythonAllowThreads permission( m_context );
+
+        // known to call back into pysvn
         svn_error_t *error = svn_client_root_url_from_path
             (
             &root_url,
diff --git a/Source/pysvn_client_cmd_info.cpp b/Source/pysvn_client_cmd_info.cpp
index 771e286..9f4c0f5 100644
--- a/Source/pysvn_client_cmd_info.cpp
+++ b/Source/pysvn_client_cmd_info.cpp
@@ -20,7 +20,6 @@
 #include "pysvn_svnenv.hpp"
 #include "svn_path.h"
 #include "svn_config.h"
-#include "svn_sorts.h"
 #include "pysvn_static_strings.hpp"
 
 static const char *g_utf_8 = "utf-8";
@@ -1380,16 +1379,20 @@ Py::Object pysvn_client::cmd_status( const Py::Tuple &a_args, const Py::Dict &a_
         throw_client_error( e );
     }
 
-    apr_array_header_t *statusarray = svn_sort__hash( status_hash, svn_sort_compare_items_as_paths, pool );
+    // Loop over array, returning each name/status-structure
 
-    // Loop over array, printing each name/status-structure
-    for (int i = statusarray->nelts-1; i >= 0; i--)
+    for( apr_hash_index_t *hi = apr_hash_first( pool, status_hash );
+            hi != NULL;
+                hi = apr_hash_next( hi ) )
     {
-        const svn_sort__item_t *item = &APR_ARRAY_IDX( statusarray, i, const svn_sort__item_t );
-        pysvn_wc_status_t *status = (pysvn_wc_status_t *)item->value;
+        const void *key;
+        void *val;
+        apr_hash_this( hi, &key, NULL, &val );
+
+        pysvn_wc_status_t *status = (pysvn_wc_status_t *)val;
 
         entries_list.append( toObject(
-                Py::String( osNormalisedPath( (const char *)item->key, pool ), "UTF-8" ),
+                Py::String( osNormalisedPath( (const char *)key, pool ), "UTF-8" ),
                 *status,
                 pool,
                 m_wrapper_status,
@@ -1397,5 +1400,7 @@ Py::Object pysvn_client::cmd_status( const Py::Tuple &a_args, const Py::Dict &a_
                 m_wrapper_lock ) );
     }
 
+    entries_list.sort();
+
     return entries_list;
 }
diff --git a/Source/pysvn_client_cmd_list.cpp b/Source/pysvn_client_cmd_list.cpp
index 696b1f3..fbd76bf 100644
--- a/Source/pysvn_client_cmd_list.cpp
+++ b/Source/pysvn_client_cmd_list.cpp
@@ -20,14 +20,8 @@
 #include "pysvn_svnenv.hpp"
 #include "svn_path.h"
 #include "svn_config.h"
-#include "svn_sorts.h"
 #include "pysvn_static_strings.hpp"
 
-static int compare_items_as_paths( const svn_sort__item_t *a, const svn_sort__item_t *b)
-{
-    return svn_path_compare_paths ((const char *)a->key, (const char *)b->key);
-}
-
 Py::Object pysvn_client::cmd_ls( const Py::Tuple &a_args, const Py::Dict &a_kws )
 {
     static argument_description args_desc[] =
@@ -100,9 +94,6 @@ Py::Object pysvn_client::cmd_ls( const Py::Tuple &a_args, const Py::Dict &a_kws
         throw_client_error( e );
     }
 
-
-    apr_array_header_t *array = svn_sort__hash( hash, compare_items_as_paths, pool );
-
     std::string base_path;
     if( !norm_path.empty() )
     {
@@ -113,12 +104,16 @@ Py::Object pysvn_client::cmd_ls( const Py::Tuple &a_args, const Py::Dict &a_kws
     // convert the entries into python objects
     Py::List entries_list;
 
-    for( int i = 0; i < array->nelts; ++i )
+    for( apr_hash_index_t *hi = apr_hash_first( pool, hash );
+            hi != NULL;
+                hi = apr_hash_next( hi ) )
     {
-        svn_sort__item_t *item = &APR_ARRAY_IDX( array, i, svn_sort__item_t );
+        const void *key;
+        void *val;
+        apr_hash_this( hi, &key, NULL, &val );
 
-        const char *utf8_entryname = static_cast<const char *>( item->key );
-        svn_dirent_t *dirent = static_cast<svn_dirent_t *>( apr_hash_get( hash, utf8_entryname, item->klen ) );
+        const char *utf8_entryname = static_cast<const char *>( key );
+        svn_dirent_t *dirent = static_cast<svn_dirent_t *>( val );
 
         std::string full_name( base_path );
         full_name += utf8_entryname;
diff --git a/Source/pysvn_enum_string.cpp b/Source/pysvn_enum_string.cpp
index 18da332..ea6082e 100644
--- a/Source/pysvn_enum_string.cpp
+++ b/Source/pysvn_enum_string.cpp
@@ -22,28 +22,28 @@ template <> EnumString< svn_opt_revision_kind >::EnumString()
 : m_type_name( "opt_revision_kind" )
 {
     // No revision information given.
-    add(svn_opt_revision_unspecified, "unspecified");
+    add( svn_opt_revision_unspecified, "unspecified" );
 
     // revision given as number
-    add(svn_opt_revision_number, "number");
+    add( svn_opt_revision_number, "number" );
 
     // revision given as date
-    add(svn_opt_revision_date, "date");
+    add( svn_opt_revision_date, "date" );
 
     // rev of most recent change
-    add(svn_opt_revision_committed, "committed");
+    add( svn_opt_revision_committed, "committed" );
 
     // (rev of most recent change) - 1
-    add(svn_opt_revision_previous, "previous");
+    add( svn_opt_revision_previous, "previous" );
 
     // .svn/entries current revision
-    add(svn_opt_revision_base, "base");
+    add( svn_opt_revision_base, "base" );
 
     // current, plus local mods
-    add(svn_opt_revision_working, "working");
+    add( svn_opt_revision_working, "working" );
 
     // repository youngest
-    add(svn_opt_revision_head, "head");
+    add( svn_opt_revision_head, "head" );
 }
 
 template <> EnumString< svn_wc_notify_action_t >::EnumString()
@@ -54,6 +54,7 @@ template <> EnumString< svn_wc_notify_action_t >::EnumString()
 
     // Copying a versioned path.
     add( svn_wc_notify_copy, "copy" );
+
     // Deleting a versioned path.
     add( svn_wc_notify_delete, "delete" );
 
@@ -183,6 +184,13 @@ template <> EnumString< svn_wc_notify_action_t >::EnumString()
     add( svn_wc_notify_foreign_copy_begin, "foreign_copy_begin" );
     add( svn_wc_notify_move_broken, "move_broken" );
 #endif
+#if defined( PYSVN_HAS_SVN_1_9 )
+    add( svn_wc_notify_cleanup_external, "cleanup_external" );
+    add( svn_wc_notify_failed_requires_target, "failed_requires_target" );
+    add( svn_wc_notify_info_external, "info_external" );
+    add( svn_wc_notify_commit_finalizing, "commit_finalizing" );
+#endif
+
 }
 
 template <> EnumString< svn_wc_status_kind >::EnumString()
@@ -275,6 +283,10 @@ template <> EnumString< svn_wc_notify_state_t >::EnumString()
 
     // Modified state got conflicting mods.
     add( svn_wc_notify_state_conflicted, "conflicted" );
+
+    // QQQ: When was this symbol added?
+    // The source to copy the file from is missing.
+    add( svn_wc_notify_state_source_missing, "source_missing" );
 }
 
 template <> EnumString< svn_wc_schedule_t >::EnumString()
@@ -307,6 +319,14 @@ template <> EnumString< svn_node_kind_t >::EnumString()
 
     // something's here, but we don't know what
     add( svn_node_unknown, "unknown" );
+
+#if defined( PYSVN_HAS_SVN_1_8 )
+   // symbolic link
+   // @note This value is not currently used by the public API.
+  add( svn_node_symlink, "symlink" );
+#endif
+
+
 }
 
 #if defined( PYSVN_HAS_DIFF_FILE_IGNORE_SPACE )
@@ -399,12 +419,22 @@ template <> EnumString< svn_wc_conflict_choice_t >::EnumString()
     // If their were files to choose from, select one as a way of
     // resolving the conflict here and now.  libsvn_wc will then do the
     // work of "installing" the chosen file.
-    add( svn_wc_conflict_choose_base, "base" );   // user chooses the original version
-    add( svn_wc_conflict_choose_theirs_full, "theirs_full" ); // user chooses incoming version
-    add( svn_wc_conflict_choose_mine_full, "mine_full" );   // user chooses own version
-    add( svn_wc_conflict_choose_theirs_conflict, "theirs_conflict" ); // user chooses incoming (for conflicted hunks)
-    add( svn_wc_conflict_choose_mine_conflict, "mine_conflict" );   // user chooses own (for conflicted hunks)
-    add( svn_wc_conflict_choose_merged, "merged" ); // user chooses the merged version
+    // user chooses the original version
+    add( svn_wc_conflict_choose_base, "base" );
+    // user chooses incoming version
+    add( svn_wc_conflict_choose_theirs_full, "theirs_full" );
+    // user chooses own version
+    add( svn_wc_conflict_choose_mine_full, "mine_full" );
+    // user chooses incoming (for conflicted hunks)
+    add( svn_wc_conflict_choose_theirs_conflict, "theirs_conflict" );
+    // user chooses own (for conflicted hunks)
+    add( svn_wc_conflict_choose_mine_conflict, "mine_conflict" );
+    // user chooses the merged version
+    add( svn_wc_conflict_choose_merged, "merged" );
+#if defined( PYSVN_HAS_SVN_1_8 )
+    //undecided
+    add( svn_wc_conflict_choose_unspecified, "unspecified" );
+#endif
 }
 #endif
 
@@ -422,15 +452,15 @@ template <> EnumString< svn_wc_operation_t >::EnumString()
 //--------------------------------------------------------------------------------
 template <> void pysvn_enum< svn_opt_revision_kind >::init_type(void)
 {
-    behaviors().name("opt_revision_kind");
-    behaviors().doc("opt_revision_kind enumeration");
+    behaviors().name( "opt_revision_kind" );
+    behaviors().doc( "opt_revision_kind enumeration" );
     behaviors().supportGetattr();
 }
 
 template <> void pysvn_enum_value< svn_opt_revision_kind >::init_type(void)
 {
-    behaviors().name("opt_revision_kind");
-    behaviors().doc("opt_revision_kind value");
+    behaviors().name( "opt_revision_kind" );
+    behaviors().doc( "opt_revision_kind value" );
     behaviors().supportCompare();
     behaviors().supportRichCompare();
     behaviors().supportRepr();
@@ -440,15 +470,15 @@ template <> void pysvn_enum_value< svn_opt_revision_kind >::init_type(void)
 
 template <> void pysvn_enum< svn_wc_notify_action_t >::init_type(void)
 {
-    behaviors().name("wc_notify_action");
-    behaviors().doc("wc_notify_action enumeration");
+    behaviors().name( "wc_notify_action" );
+    behaviors().doc( "wc_notify_action enumeration" );
     behaviors().supportGetattr();
 }
 
 template <> void pysvn_enum_value< svn_wc_notify_action_t >::init_type(void)
 {
-    behaviors().name("wc_notify_action");
-    behaviors().doc("wc_notify_action value");
+    behaviors().name( "wc_notify_action" );
+    behaviors().doc( "wc_notify_action value" );
     behaviors().supportCompare();
     behaviors().supportRichCompare();
     behaviors().supportRepr();
@@ -458,15 +488,15 @@ template <> void pysvn_enum_value< svn_wc_notify_action_t >::init_type(void)
 
 template <> void pysvn_enum< svn_wc_status_kind >::init_type(void)
 {
-    behaviors().name("wc_status_kind");
-    behaviors().doc("wc_status_kind enumeration");
+    behaviors().name( "wc_status_kind" );
+    behaviors().doc( "wc_status_kind enumeration" );
     behaviors().supportGetattr();
 }
 
 template <> void pysvn_enum_value< svn_wc_status_kind >::init_type(void)
 {
-    behaviors().name("wc_status_kind");
-    behaviors().doc("wc_status_kind value");
+    behaviors().name( "wc_status_kind" );
+    behaviors().doc( "wc_status_kind value" );
     behaviors().supportCompare();
     behaviors().supportRichCompare();
     behaviors().supportRepr();
@@ -476,15 +506,15 @@ template <> void pysvn_enum_value< svn_wc_status_kind >::init_type(void)
 
 template <> void pysvn_enum< svn_wc_schedule_t >::init_type(void)
 {
-    behaviors().name("wc_schedule");
-    behaviors().doc("wc_schedule enumeration");
+    behaviors().name( "wc_schedule" );
+    behaviors().doc( "wc_schedule enumeration" );
     behaviors().supportGetattr();
 }
 
 template <> void pysvn_enum_value< svn_wc_schedule_t >::init_type(void)
 {
-    behaviors().name("wc_schedule");
-    behaviors().doc("wc_schedule value");
+    behaviors().name( "wc_schedule" );
+    behaviors().doc( "wc_schedule value" );
     behaviors().supportCompare();
     behaviors().supportRichCompare();
     behaviors().supportRepr();
@@ -494,15 +524,15 @@ template <> void pysvn_enum_value< svn_wc_schedule_t >::init_type(void)
 
 template <> void pysvn_enum< svn_wc_merge_outcome_t >::init_type(void)
 {
-    behaviors().name("wc_merge_outcome");
-    behaviors().doc("wc_merge_outcome enumeration");
+    behaviors().name( "wc_merge_outcome" );
+    behaviors().doc( "wc_merge_outcome enumeration" );
     behaviors().supportGetattr();
 }
 
 template <> void pysvn_enum_value< svn_wc_merge_outcome_t >::init_type(void)
 {
-    behaviors().name("wc_merge_outcome");
-    behaviors().doc("wc_merge_outcome value");
+    behaviors().name( "wc_merge_outcome" );
+    behaviors().doc( "wc_merge_outcome value" );
     behaviors().supportCompare();
     behaviors().supportRichCompare();
     behaviors().supportRepr();
@@ -512,15 +542,15 @@ template <> void pysvn_enum_value< svn_wc_merge_outcome_t >::init_type(void)
 
 template <> void pysvn_enum< svn_wc_notify_state_t >::init_type(void)
 {
-    behaviors().name("wc_notify_state");
-    behaviors().doc("wc_notify_state enumeration");
+    behaviors().name( "wc_notify_state" );
+    behaviors().doc( "wc_notify_state enumeration" );
     behaviors().supportGetattr();
 }
 
 template <> void pysvn_enum_value< svn_wc_notify_state_t >::init_type(void)
 {
-    behaviors().name("wc_notify_state");
-    behaviors().doc("wc_notify_state value");
+    behaviors().name( "wc_notify_state" );
+    behaviors().doc( "wc_notify_state value" );
     behaviors().supportCompare();
     behaviors().supportRichCompare();
     behaviors().supportRepr();
@@ -530,15 +560,15 @@ template <> void pysvn_enum_value< svn_wc_notify_state_t >::init_type(void)
 
 template <> void pysvn_enum< svn_node_kind_t >::init_type(void)
 {
-    behaviors().name("node_kind");
-    behaviors().doc("node_kind enumeration");
+    behaviors().name( "node_kind" );
+    behaviors().doc( "node_kind enumeration" );
     behaviors().supportGetattr();
 }
 
 template <> void pysvn_enum_value< svn_node_kind_t >::init_type(void)
 {
-    behaviors().name("node_kind");
-    behaviors().doc("node_kind value");
+    behaviors().name( "node_kind" );
+    behaviors().doc( "node_kind value" );
     behaviors().supportCompare();
     behaviors().supportRichCompare();
     behaviors().supportRepr();
@@ -549,15 +579,15 @@ template <> void pysvn_enum_value< svn_node_kind_t >::init_type(void)
 #if defined( PYSVN_HAS_DIFF_FILE_IGNORE_SPACE )
 template <> void pysvn_enum< svn_diff_file_ignore_space_t >::init_type(void)
 {
-    behaviors().name("diff_file_ignore_space");
-    behaviors().doc("diff_file_ignore_space enumeration");
+    behaviors().name( "diff_file_ignore_space" );
+    behaviors().doc( "diff_file_ignore_space enumeration" );
     behaviors().supportGetattr();
 }
 
 template <> void pysvn_enum_value< svn_diff_file_ignore_space_t >::init_type(void)
 {
-    behaviors().name("diff_file_ignore_space");
-    behaviors().doc("diff_file_ignore_space value");
+    behaviors().name( "diff_file_ignore_space" );
+    behaviors().doc( "diff_file_ignore_space value" );
     behaviors().supportCompare();
     behaviors().supportRichCompare();
     behaviors().supportRepr();
@@ -569,15 +599,15 @@ template <> void pysvn_enum_value< svn_diff_file_ignore_space_t >::init_type(voi
 #if defined( PYSVN_HAS_CLIENT_DIFF_SUMMARIZE )
 template <> void pysvn_enum< svn_client_diff_summarize_kind_t >::init_type(void)
 {
-    behaviors().name("client_diff_summarize_kind");
-    behaviors().doc("client_diff_summarize_kind enumeration");
+    behaviors().name( "client_diff_summarize_kind" );
+    behaviors().doc( "client_diff_summarize_kind enumeration" );
     behaviors().supportGetattr();
 }
 
 template <> void pysvn_enum_value< svn_client_diff_summarize_kind_t >::init_type(void)
 {
-    behaviors().name("client_diff_summarize_kind");
-    behaviors().doc("client_diff_summarize_kind value");
+    behaviors().name( "client_diff_summarize_kind" );
+    behaviors().doc( "client_diff_summarize_kind value" );
     behaviors().supportCompare();
     behaviors().supportRichCompare();
     behaviors().supportRepr();
@@ -589,15 +619,15 @@ template <> void pysvn_enum_value< svn_client_diff_summarize_kind_t >::init_type
 #if defined( PYSVN_HAS_SVN__DEPTH_PARAMETER )
 template <> void pysvn_enum< svn_depth_t >::init_type(void)
 {
-    behaviors().name("depth");
-    behaviors().doc("depth enumeration");
+    behaviors().name( "depth" );
+    behaviors().doc( "depth enumeration" );
     behaviors().supportGetattr();
 }
 
 template <> void pysvn_enum_value< svn_depth_t >::init_type(void)
 {
-    behaviors().name("depth");
-    behaviors().doc("depth value");
+    behaviors().name( "depth" );
+    behaviors().doc( "depth value" );
     behaviors().supportCompare();
     behaviors().supportRichCompare();
     behaviors().supportRepr();
@@ -609,15 +639,15 @@ template <> void pysvn_enum_value< svn_depth_t >::init_type(void)
 #if defined( PYSVN_HAS_SVN_WC_CONFLICT_CHOICE_T )
 template <> void pysvn_enum< svn_wc_conflict_choice_t >::init_type(void)
 {
-    behaviors().name("wc_conflict_choice");
-    behaviors().doc("wc_conflict_choice enumeration");
+    behaviors().name( "wc_conflict_choice" );
+    behaviors().doc( "wc_conflict_choice enumeration" );
     behaviors().supportGetattr();
 }
 
 template <> void pysvn_enum_value< svn_wc_conflict_choice_t >::init_type(void)
 {
-    behaviors().name("wc_conflict_choice");
-    behaviors().doc("wc_conflict_choice value");
+    behaviors().name( "wc_conflict_choice" );
+    behaviors().doc( "wc_conflict_choice value" );
     behaviors().supportCompare();
     behaviors().supportRichCompare();
     behaviors().supportRepr();
@@ -628,15 +658,15 @@ template <> void pysvn_enum_value< svn_wc_conflict_choice_t >::init_type(void)
 
 template <> void pysvn_enum< svn_wc_conflict_action_t >::init_type(void)
 {
-    behaviors().name("wc_conflict_action");
-    behaviors().doc("wc_conflict_action enumeration");
+    behaviors().name( "wc_conflict_action" );
+    behaviors().doc( "wc_conflict_action enumeration" );
     behaviors().supportGetattr();
 }
 
 template <> void pysvn_enum_value< svn_wc_conflict_action_t >::init_type(void)
 {
-    behaviors().name("wc_conflict_action");
-    behaviors().doc("wc_conflict_action value");
+    behaviors().name( "wc_conflict_action" );
+    behaviors().doc( "wc_conflict_action value" );
     behaviors().supportCompare();
     behaviors().supportRichCompare();
     behaviors().supportRepr();
@@ -647,15 +677,15 @@ template <> void pysvn_enum_value< svn_wc_conflict_action_t >::init_type(void)
 
 template <> void pysvn_enum< svn_wc_conflict_kind_t >::init_type(void)
 {
-    behaviors().name("wc_conflict_kind");
-    behaviors().doc("wc_conflict_kind enumeration");
+    behaviors().name( "wc_conflict_kind" );
+    behaviors().doc( "wc_conflict_kind enumeration" );
     behaviors().supportGetattr();
 }
 
 template <> void pysvn_enum_value< svn_wc_conflict_kind_t >::init_type(void)
 {
-    behaviors().name("wc_conflict_kind");
-    behaviors().doc("wc_conflict_kind value");
+    behaviors().name( "wc_conflict_kind" );
+    behaviors().doc( "wc_conflict_kind value" );
     behaviors().supportCompare();
     behaviors().supportRichCompare();
     behaviors().supportRepr();
@@ -665,15 +695,15 @@ template <> void pysvn_enum_value< svn_wc_conflict_kind_t >::init_type(void)
 
 template <> void pysvn_enum< svn_wc_conflict_reason_t >::init_type(void)
 {
-    behaviors().name("wc_conflict_reason");
-    behaviors().doc("wc_conflict_reason enumeration");
+    behaviors().name( "wc_conflict_reason" );
+    behaviors().doc( "wc_conflict_reason enumeration" );
     behaviors().supportGetattr();
 }
 
 template <> void pysvn_enum_value< svn_wc_conflict_reason_t >::init_type(void)
 {
-    behaviors().name("wc_conflict_reason");
-    behaviors().doc("wc_conflict_reason value");
+    behaviors().name( "wc_conflict_reason" );
+    behaviors().doc( "wc_conflict_reason value" );
     behaviors().supportCompare();
     behaviors().supportRichCompare();
     behaviors().supportRepr();
@@ -685,15 +715,15 @@ template <> void pysvn_enum_value< svn_wc_conflict_reason_t >::init_type(void)
 #if defined( PYSVN_HAS_SVN_WC_OPERATION_T )
 template <> void pysvn_enum< svn_wc_operation_t >::init_type(void)
 {
-    behaviors().name("wc_operation");
-    behaviors().doc("wc_operation enumeration");
+    behaviors().name( "wc_operation" );
+    behaviors().doc( "wc_operation enumeration" );
     behaviors().supportGetattr();
 }
 
 template <> void pysvn_enum_value< svn_wc_operation_t >::init_type(void)
 {
-    behaviors().name("wc_operation");
-    behaviors().doc("wc_operation value");
+    behaviors().name( "wc_operation" );
+    behaviors().doc( "wc_operation value" );
     behaviors().supportCompare();
     behaviors().supportRichCompare();
     behaviors().supportRepr();
diff --git a/Source/pysvn_svnenv.hpp b/Source/pysvn_svnenv.hpp
index a0038dd..4629f0c 100644
--- a/Source/pysvn_svnenv.hpp
+++ b/Source/pysvn_svnenv.hpp
@@ -17,7 +17,7 @@
 #endif
 
 #if PYCXX_VERSION < PYCXX_MAKEVERSION( 6, 2, 4 )
-#error PyCXX version 6.2.4 is required
+#error PyCXX version 6.2.4 or later required
 #endif
 
 #include <svn_version.h>
@@ -26,6 +26,7 @@
 #include <svn_fs.h>
 #include <svn_repos.h>
 #include <apr_xlate.h>
+
 #include <string>
 
 #if !defined( SVN_VER_MAJOR )
@@ -214,6 +215,15 @@
 #define PYSVN_HAS_CLIENT_CREATE_CONTEXT2 1
 #endif
 
+#if (SVN_VER_MAJOR == 1 && SVN_VER_MINOR >= 9) || SVN_VER_MAJOR > 1
+#define PYSVN_HAS_SVN_1_9
+#define PYSVN_HAS_CLIENT_VACUUM QQQ
+#define PYSVN_HAS_CLIENT_REVERT3 QQQ
+#define PYSVN_HAS_CLIENT_COPY7 QQQ
+#define PYSVN_HAS_CLIENT_CAT3 QQQ
+#define PYSVN_HAS_CLIENT_INFO4 QQQ
+#endif
+
 #if defined( PYSVN_HAS_CLIENT_STATUS3 )
 typedef svn_wc_status2_t pysvn_wc_status_t;
 
diff --git a/Source/run_py.cmd b/Source/run_py.cmd
index 005c8d3..edf7de9 100644
--- a/Source/run_py.cmd
+++ b/Source/run_py.cmd
@@ -1,4 +1,4 @@
 setlocal
-set PYTHONPATH=%WORKDIR%\Source
-c:\python23\python %*
+set PYTHONPATH=%BUILDER_TOP_DIR%\Source
+c:\python27.win32\python %*
 endlocal
diff --git a/Source/run_py.sh b/Source/run_py.sh
index 1bb7151..6993aad 100755
--- a/Source/run_py.sh
+++ b/Source/run_py.sh
@@ -1,5 +1,5 @@
 #!/bin/sh
-export PYTHONPATH=${WORKDIR}/Source
+export PYTHONPATH=${BUILDER_TOP_DIR}/Source
 export LD_LIBRARY_PATH=${SVNCPP_LIB}
 export DYLD_LIBRARY_PATH=${SVNCPP_LIB}
 ${PYTHON} $*
diff --git a/Source/setup_configure.py b/Source/setup_configure.py
index 5a1a2bf..afeee2d 100644
--- a/Source/setup_configure.py
+++ b/Source/setup_configure.py
@@ -70,6 +70,7 @@ class Options:
         '--svn-bin-dir':        (1, '<dir>'),
         '--svn-root-dir':       (1, '<dir>'),
         '--verbose':            (0, None),
+        '--disable-deprecated-functions-warnings': (0, None),
         }
 
     def __init__( self, argv ):
@@ -1099,9 +1100,9 @@ class UnixCompilerGCC(CompilerGCC):
                         '/usr/pkg/include/subversion-1',        # netbsd
                         ]
         self._find_paths_svn_bin = [
-                        '/usr/bin',                                # typical Linux
-                        '/usr/local/bin',                        # typical *BSD
-                        '/usr/pkg/bin',                                # netbsd
+                        '/usr/bin',                             # typical Linux
+                        '/usr/local/bin',                       # typical *BSD
+                        '/usr/pkg/bin',                         # netbsd
                         ]
         self._find_paths_svn_lib = [
                         '/usr/lib64',                           # typical 64bit Linux
@@ -1169,6 +1170,10 @@ class UnixCompilerGCC(CompilerGCC):
             print( 'Info: Debug enabled' )
             py_cflags_list.append( '-g' )
 
+        if self.options.hasOption( '--disable-deprecated-functions-warnings' ):
+            print( 'Info: Disable deprecated functions warnings' )
+            py_cflags_list.append( '-Wno-deprecated-declarations' )
+
         self._addVar( 'CCCFLAGS',   ' '.join( py_cflags_list ) )
         self._addVar( 'LDLIBS',     ' '.join( self._getLdLibs() ) )
         self._addVar( 'LDSHARED',   '%(CCC)s -shared -g' )
diff --git a/Tests/benchmark_diff.py b/Tests/benchmark_diff.py
index e370ed7..133722f 100644
--- a/Tests/benchmark_diff.py
+++ b/Tests/benchmark_diff.py
@@ -57,10 +57,14 @@ class ReplaceDirtInString:
         self.python = self.find( 'PYTHON' )
         self.username = self.find( 'Username' )
... 4115 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/pysvn.git



More information about the Python-modules-commits mailing list