Роман Донченко <dpb@corrigendum.ru> (rdonch)

Found Patch Suggested
r957041, r879987, r879767, r879764, r878192 r1392077, r1392073, r1392068, r1392059, r1392056, r1392041, r1392038, r1392025, r1392018, r1389081, r1389073, r1389062, r1389054, r1380311, r1380056, r1369686, r1369679, r1339353, r983144, r983139, r982064, r981701, r981683, r981564, r981339, r981330, r981313, r981282, r949551, r949321, r949280, r949274, r927222, r927211, r926704, r926343, r920133, r920074, r911617, r911536, r911480, r911236, r910102, r910052, r909644, r908275, r908216, r908153, r907822, r907800, r907788, r907526, r906188, r906165, r906147, r904298, r904290, r901312, r901007, r880016, r879923, r879918, r879912, r879862, r879861, r879791, r879789, r879755, r879726, r879711, r879709, r879456, r879352, r879330, r879028, r878836, r878704, r878669, r878585, r878559, r878548, r878547, r878543, r878485, r878410, r878381, r878116 r901315, r878395

r1392077 | rdonch | 2012-09-30 12:17:26 -0500 (Sun, 30 Sep 2012)

* subversion/bindings/swig/python/tests/core.py:
    Use assert_ instead of assertIn, as the latter was not yet invented in
    Python 2.4.

r1392073 | rdonch | 2012-09-30 11:45:12 -0500 (Sun, 30 Sep 2012)

Implemented svn_config_enumerate_sections2 in the SWIG Python bindings.

[in subversion/bindings/swig]

* python/libsvn_swig_py/swigutil_py.c,
  (svn_swig_py_config_section_enumerator2): New function.

* core.i:
  Use svn_swig_py_config_section_enumerator2 in the corresponding typemap.

* python/tests/core.py:
  (SubversionCoreTestCase.test_config_enumerate_sections2_exception): New tests.

r1392068 | rdonch | 2012-09-30 11:24:59 -0500 (Sun, 30 Sep 2012)

* subversion/bindings/swig/python/tests/core.py:
  (SubversionCoreTestCase.test_config_enumerate2): Use assertIn instead of

r1392059 | rdonch | 2012-09-30 11:12:38 -0500 (Sun, 30 Sep 2012)

* subversion/bindings/swig/python/tests/core.py:
  (SubversionCoreTestCase.test_config_enumerate2_exception): Simplify by using
    svn_config_enumerate2's return value.

r1392056 | rdonch | 2012-09-30 11:07:38 -0500 (Sun, 30 Sep 2012)

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c:
  (svn_swig_py_config_enumerator2): Always clear the Python exception
    to avoid leaving Python in an inconsistent exception state.

r1392041 | rdonch | 2012-09-30 10:40:16 -0500 (Sun, 30 Sep 2012)

* subversion/bindings/swig/python/tests/core.py:
  (SubversionCoreTestCase.test_exception_interoperability): Fix a typo that
    made the test pass for the wrong reasons.

r1392038 | rdonch | 2012-09-30 10:36:22 -0500 (Sun, 30 Sep 2012)

Implemented svn_config_enumerate2 in the SWIG Python bindings.

[in subversion/bindings/swig]

* python/libsvn_swig_py/swigutil_py.c,
  (svn_swig_py_config_enumerator2): New function.

* core.i:
  Use svn_swig_py_config_enumerator2 in the corresponding typemap.

* python/tests/core.py:
  (SubversionCoreTestCase.test_config_enumerate2_exception): New tests.

r1392025 | rdonch | 2012-09-30 08:53:30 -0500 (Sun, 30 Sep 2012)

* subversion/bindings/swig/python/tests/pool.py:
  (PoolTestCase.test_object_hash_struct_members): Create an empty config with
    svn_config_create, instead of reading an empty file.

r1392018 | rdonch | 2012-09-30 07:36:24 -0500 (Sun, 30 Sep 2012)

* publish/faq.html,
  publish/news.html: Fix XHTML well-formedness and validity errors.

Approved by: danielsh

r1389081 | rdonch | 2012-09-23 10:37:36 -0500 (Sun, 23 Sep 2012)

* build/generator/templates/svn_locale.vcxproj.ezt,
    Change OutDir and IntDir to point to the correct location
    (they've been wrong since the move in r1034362).

Approved by: brane

r1389073 | rdonch | 2012-09-23 10:04:40 -0500 (Sun, 23 Sep 2012)

* /: Add subversion_vcnet.v11.suo to svn:ignore (it's generated by Visual
    Studio 2012). Obvious fix.

r1389062 | rdonch | 2012-09-23 09:12:33 -0500 (Sun, 23 Sep 2012)

* subversion/bindings/swig/svn_delta.i: Replace '$self' with 'self' for
    compatibility with really old SWIG versions.

r1389054 | rdonch | 2012-09-23 08:31:09 -0500 (Sun, 23 Sep 2012)

In the SWIG/Python bindings, replace the ugly hack that made
svn_txdelta_window_t.ops work with a much less ugly one.

The new approach is similar to what I have previously outlined in a
comment in svn_txdelta_window_t_ops_get, but didn't implement back
then because I couldn't work out the details. It's better than the
old approach, because:

1) It doesn't involve manipulating the GIL more than is necessary.

2) It doesn't use an additional global Python function (although I have kept
   the old function for backwards compatibility). Nor does it need extra code
   in the Python wrapper module (svn.delta).

3) It's consistent with other bindings support code.

[in subversion/bindings/swig]

* python/libsvn_swig_py/swigutil_py.c,
  (svn_swig_py_convert_txdelta_op_c_array): New function to replace
  (svn_swig_py_txdelta_window_t_ops_get): Remove.

* python/svn/delta.py:
  Remove the svn_txdelta_window_t.ops override.

* svn_delta.i:
  Extend svn_txdelta_window_t with a custom getter for ops, and add
  a typemap that specifically covers that getter. Remove the
  svn_txdelta_window_t_ops_get inline function and replace it with
  a backwards compatibility shim.

r1380311 | rdonch | 2012-09-03 14:19:01 -0500 (Mon, 03 Sep 2012)

* build/generator/templates/svn_locale.vcxproj.ezt: Change the configuration
   type to "Makefile", otherwise the generated project doesn't do anything.
   (Obvious fix.)

r1380056 | rdonch | 2012-09-02 16:03:14 -0500 (Sun, 02 Sep 2012)

On Windows, don't strip the Content-Type field from .po files during their compilation.

GNU libintl, by default, converts the l10n strings into the locale encoding, while Subversion requires UTF-8. This conversion can be suppressed by calling bind_textdomain_codeset, but certain old versions of libintl don't have that, so the Unix build system checks for the existence of that function, and if it's not present, strips the Content-Type header from the .po files (which prevents encoding conversion, as well, but makes msgfmt complain).

When building on Windows, this stripping is done unconditionally, but is completely unnecessary:

- On Windows, we only support linking with svn-win32-libintl, which is hacked to disable all encoding conversions.
- Even if someone links with with his own version of libintl, it's a safe bet that it will be new enough to support bind_textdomain_codeset, so we can just call that.

This patch removes Content-Type stripping on Windows, which gets rid of msgfmt warnings, as well as simplifies the build system.

* build/generator/build_locale.ezt: Remove the strip-po-charset.py invocation.

* build/generator/gen_win.py:
    (POFile.__init__): don't store the .spo file name.

* build/strip-po-charset.py: Delete.

* subversion/libsvn_subr/nls.c:
    (svn_nls_init): Move the bind_textdomain_codeset call out of the #ifdef WIN32 block, so it's executed on Windows, as well.

* subversion/svn_private_config.hw: Indicate that bind_textdomain_codeset is available if NLS is enabled.

Approved by: brane

r1369686 | rdonch | 2012-08-05 16:26:40 -0500 (Sun, 05 Aug 2012)

* build/generator/templates/build_locale.ezt:
  Fix the relative path to the po directory, broken since build_locale.bat
   was moved in r1034362. (Obvious fix.)

r1369679 | rdonch | 2012-08-05 15:58:44 -0500 (Sun, 05 Aug 2012)

* build/generator/templates/build_locale.ezt,
* build/generator/templates/build_zlib.ezt:
  s/not errorlevel 0/errorlevel 1/. "not errorlevel 0" is always false, since
   "errorlevel X" tests for %errorlevel% >= X.

Obvious fix.

r1339353 | rdonch | 2012-05-16 15:44:36 -0500 (Wed, 16 May 2012)

* COMMITTERS: Update my (rdonch's) email address.

r983144 | rdonch | 2010-08-06 18:37:43 -0500 (Fri, 06 Aug 2010)

As a (hopefully) final follow-up to r981683, set the parent pool correctly
on the returned op object proxies.

[in subversion/bindings/swig]

* python/libsvn_swig_py/swigutil_py.c,
  (svn_swig_py_txdelta_window_t_ops_get): Add a new parameter for the pool to
    use when wrapping the op objects.

* svn_delta.i:
  (svn_txdelta_window_t_ops_get): Retrieve the parent pool for the window
    object and pass it to svn_swig_py_txdelta_window_t_ops_get.

* python/tests/delta.py:
  (DeltaTestCase.testTxdeltaWindowT): Add a new assertion to ensure the above

r983139 | rdonch | 2010-08-06 17:53:21 -0500 (Fri, 06 Aug 2010)

As a follow-up to r981683, make svn_txdelta_window_t.ops work _really_
properly - make sure we are holding the global interpreter lock before
we do Python calls.

* subversion/bindings/swig/svn_delta.i:
  (svn_txdelta_window_t_ops_get): Change the parameter to PyObject* to
    gather all processing in the same place, add a big helpful comment and
    wrap in svn_swig_py_{acquire,release}_py_lock.

r982064 | rdonch | 2010-08-03 18:18:36 -0500 (Tue, 03 Aug 2010)

* subversion/bindings/swig/python/tests/delta.py:
  (DeltaTestCase.testTxdeltaWindowT): New test to cover the fix made in
    r981683 and r981701.

r981701 | rdonch | 2010-08-02 18:00:48 -0500 (Mon, 02 Aug 2010)

Move the descriptor query for "svn_txdelta_op_t *" into the module code;
when it's in libsvn_swig_py, SWIG crashes.

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c,
  (svn_swig_py_txdelta_window_t_ops_get): Add the op_type_info parameter,
    and get the descriptor from it, instead of querying directly.

* subversion/bindings/swig/svn_delta.i:
  (svn_txdelta_window_t_ops_get): Do the query here, and pass the result
    to svn_swig_py_txdelta_window_t_ops_get.

r981683 | rdonch | 2010-08-02 15:49:57 -0500 (Mon, 02 Aug 2010)

SWIG/Python: make svn_txdelta_window_t.ops work properly.

[in subversion/bindings/swig]

* svn_delta.i: disable the auto-generated accessors for
   svn_txdelta_window_t.ops, for they assume it's a pointer
   to a single element. Declare svn_txdelta_window_t_ops_get,
   a replacement accessor.

* python/libsvn_swig_py/swigutil_py.c,
  (svn_swig_py_txdelta_window_t_ops_get): A new function to power up the
    aforementioned accessor.

* python/svn/delta.py: Graft the aforementioned accessor to the
   svn_txdelta_window_t wrapper class.

r981564 | rdonch | 2010-08-02 10:36:51 -0500 (Mon, 02 Aug 2010)

* subversion/bindings/swig/python/tests/core.py:
  (SubversionCoreTestCase.test_exception_interoperability): Use the old-style
    try statement syntax for Python 2.4 compatibility.

r981339 | rdonch | 2010-08-01 17:54:06 -0500 (Sun, 01 Aug 2010)

SWIG/Python testsuite: stop using the obsolete unittest.makeSuite function.

[in subversion/bindings/swig/python/tests]

* auth.py,
  wc.py: Use unittest.defaultTestLoader instead.

* trac/versioncontrol/tests/svn_fs.py: Use a custom unittest.TestLoader.

r981330 | rdonch | 2010-08-01 17:19:59 -0500 (Sun, 01 Aug 2010)

SWIG/Python: enhance the exception translation mechanism so that a
SubversionException thrown from a callback would be fully translated into an
svn_error_t, including any nested exceptions.

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c:
  (callback_exception_error): Split into two, the other half being
  (exception_to_error): New function for handling the conversion itself.

* subversion/bindings/swig/python/tests/core.py:
  (SubversionCoreTestCase.test_exception_interoperability): New test for
    the exception translation mechanism, including this revision's

r981313 | rdonch | 2010-08-01 15:37:38 -0500 (Sun, 01 Aug 2010)

SWIG/Python testsuite: migrate from piggybacking on Trac's test case to using
Temper. After this, the testsuite no longer depends on Trac's testsuite, except
that we still use its test dump file.

* subversion/bindings/swig/python/tests/client.py,
* subversion/bindings/swig/python/tests/mergeinfo.py,
* subversion/bindings/swig/python/tests/ra.py,
* subversion/bindings/swig/python/tests/repository.py,
* subversion/bindings/swig/python/tests/wc.py: Remove all references to
   trac.versioncontrol.tests. Use utils.Temper for making temporary entities.

r981282 | rdonch | 2010-08-01 13:49:50 -0500 (Sun, 01 Aug 2010)

SWIG/Python testsuite: more development on the utilities.

* subversion/bindings/swig/python/tests/utils.py:
  (): Simplify imports.
  (Temper.alloc_repo): Rename to alloc_empty_repo.
  (Temper.alloc_known_repo): New function.
  (Temper._file_uri_for_path): Turn into a global function and rename to

r957041 | rhuijben | 2010-06-22 16:43:04 -0500 (Tue, 22 Jun 2010)

* subversion/bindings/swig/python/tests/wc.py
  (tearDown): Following up on r956544 re-enable cleanup, but make sure
    that the real error is not obfuscated by cleanup errors.

Found by: rdonch

r949551 | rdonch | 2010-05-30 13:17:57 -0500 (Sun, 30 May 2010)

Move temporary dir creation/cleanup code from r879456 into its own module,
and add a function for repository creation.

* subversion/bindings/swig/python/tests/utils.py: New file.

* subversion/bindings/swig/python/tests/client.py:
  (SubversionClientTestCase.allocate_temp_dir): Remove.
  (SubversionClientTestCase.test_merge_peg3): Defer all temporary directory
    creation and cleanup to utils.Temper.

r949321 | rdonch | 2010-05-28 18:39:00 -0500 (Fri, 28 May 2010)

* subversion/bindings/swig/include/svn_types.swg: Implement the missing
   Python typemap for const unsigned char *digest.

r949280 | rdonch | 2010-05-28 15:20:42 -0500 (Fri, 28 May 2010)

Revert r949242 and do something better instead: give SubversionException a
__str__ which will dump the whole error chain.

* subversion/bindings/swig/python/svn/core.py:
  (SubversionException.__str__): New function.

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c:
  (svn_swig_py_svn_exception): Don't strip traced errors.

r949274 | rdonch | 2010-05-28 15:09:09 -0500 (Fri, 28 May 2010)

* subversion/bindings/swig/python/tests/trac/versioncontrol/tests/svn_fs.py:
   It's possible for REPOS_URL to be initialized to a non-canonical URI, so
   canonicalize it explicitly.

r927222 | rdonch | 2010-03-24 18:29:20 -0500 (Wed, 24 Mar 2010)

SWIG/Python: enable callback functions to return Subversion errors (by
throwing a SubversionException).

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c:
  (callback_exception_error): Extend to check for a SubversionException
   and attempt to translate it into an svn_error_t*.

* subversion/bindings/swig/python/tests/repository.py:
  (SubversionRepositoryTestCase.test_cease_invocation): New test for
   the above functionality.

Patch by: Alexey Neyman <stilor@att.net>
Review by: Jon Foster <Jon.Foster@cabot.co.uk>

r927211 | rdonch | 2010-03-24 17:39:24 -0500 (Wed, 24 Mar 2010)

* subversion/libsvn_wc/wc_db.c:
  (svn_wc__db_wclock_set): Pass levels_to_lock to svn_sqlite__bindf
   as a 64-bit value, as required by the latter.

Approved by: rhuijben

r926704 | rdonch | 2010-03-23 13:22:46 -0500 (Tue, 23 Mar 2010)

* subversion/bindings/swig/core.i: Immutablize svn_patch_t::patch_file
   in Perl, since the existing typemaps can't handle setting it. See also:

r926343 | rdonch | 2010-03-22 16:20:18 -0500 (Mon, 22 Mar 2010)

* subversion/bindings/swig/svn_diff.i: Immutablize some struct members,
   setting which is not supported.

r920133 | rdonch | 2010-03-07 16:25:54 -0600 (Sun, 07 Mar 2010)

* publish/style/site.css: Amend a typo/syntax error. Obvious fix.

r920074 | rdonch | 2010-03-07 13:52:49 -0600 (Sun, 07 Mar 2010)

[in subversion/bindings/swig/python/tests]

* core.py,
  ra.py: Fix some code style issues found by pylint. This mostly includes
   inserting whitespace, removing unneeded imports and semicolons, and
   renaming identifiers colliding with reserved names.

Suggested by: bhuvan

r911617 | rdonch | 2010-02-18 16:21:43 -0600 (Thu, 18 Feb 2010)

Move the build log for the __CONFIG__ VS 200x project into the top-level
Debug/Release directories, so that it's automatically svn:ignored.

* build/generator/svn_config.vcproj.ezt: Change IntermediateDirectory (whose
   sole inhabitant is the build log).

* build/win32/ (svn:ignore): Remove BuildLog.htm, which no longer exists.

r911536 | rdonch | 2010-02-18 13:31:59 -0600 (Thu, 18 Feb 2010)

Finish the refactoring started in r901007. The new version no longer
leaks svn_auth_provider_object_t references during the call to svn_auth_open;
r911236 ensures backwards-compatible behavior.

* subversion/bindings/swig/include/svn_containers.swg: Replace the body of the
   Python apr_array_header_t *providers input typemap with a call to

r911480 | rdonch | 2010-02-18 10:44:48 -0600 (Thu, 18 Feb 2010)

* subversion/bindings/swig/core.i: Fix an indentation error from r911236.
   This also works around a bug in old SWIGs, which don't auto-correct
   indentation in %pythonappend blocks.

r911236 | rdonch | 2010-02-17 18:34:29 -0600 (Wed, 17 Feb 2010)

SWIG/Python: make the auth baton reference its providers, so that it remains
valid even if the user didn't keep any references himself.
Note: currently, it remains valid as well, but that's because of an object
leak in a typemap, which will be fixed shortly.

* subversion/bindings/swig/core.i: Insert a helper that stores a reference
   to providers in the auth baton wrapper after svn_auth_open.

r910102 | rdonch | 2010-02-14 16:37:49 -0600 (Sun, 14 Feb 2010)

* src-trunk/subversion/bindings/swig/python/tests/ra.py:
  (SubversionRepositoryAccessTestCase.setUp): alter the call to ra.open2 in
   order to better test functionality implemented in r909644 (and remove an
   extraneous None argument).

r910052 | rdonch | 2010-02-14 11:40:09 -0600 (Sun, 14 Feb 2010)

Add a test to the Python bindings' testsuite which tests functionality
implemented in r907788 (and r909644, indirectly).

* subversion/bindings/swig/python/tests/pool.py:
  (PoolTestCase.test_object_hash_struct_members): New function.

r909644 | rdonch | 2010-02-12 16:42:32 -0600 (Fri, 12 Feb 2010)

* subversion/bindings/swig/include/svn_containers.swg: Add typemaps that are
   necessary to translate an APR hash of svn_config_t* into a Python dict,
   and vice versa.

r908275 | rdonch | 2010-02-09 17:12:51 -0600 (Tue, 09 Feb 2010)

Expand/fix r907788, so that the even Righter Thing is done.

* subversion/bindings/swig/include/proxy.swg:
  (_copy_metadata): Rename to _copy_metadata_deep, add a docstring and fix
   a silly bug in the dict branch.
  (_assert_valid_deep): New function.
  (<proxy>.__getattr__): Use the new names/functions.

r908216 | rdonch | 2010-02-09 15:03:03 -0600 (Tue, 09 Feb 2010)

* subversion/bindings/swig/include/proxy.swg: Following up on r908153, drop
   the ABC shenanigans completely. They're not worth the trouble in this case.

r908153 | rdonch | 2010-02-09 12:43:36 -0600 (Tue, 09 Feb 2010)

* subversion/bindings/swig/include/proxy.swg: Restore compatibility with
   older Pythons by restricting abstract base class usage to versions that
   support them (>= 2.6).

r907822 | rdonch | 2010-02-08 16:12:15 -0600 (Mon, 08 Feb 2010)

* subversion/bindings/swig/python/tests/pool.py:
  (PoolTestCase.test_assert_valid): client.ctx_t.config is to become a dict
    soon, making it unsuitable for these tests; use a different member
    (auth_baton) instead.

r907800 | rdonch | 2010-02-08 15:16:02 -0600 (Mon, 08 Feb 2010)

* subversion/bindings/swig/python/svn/__init__.py: Add 'diff' to the public
   name list.

r907788 | rdonch | 2010-02-08 14:56:13 -0600 (Mon, 08 Feb 2010)

SWIG/Python: improve the proxy class template, so that the Right Thing is done
with array/hash members on attribute retrieval.

* subversion/bindings/swig/include/proxy.swg:
  (_copy_metadata): New function.
  (<proxy>.__getattr__): Update to use _copy_metadata.

r907526 | rdonch | 2010-02-07 18:22:22 -0600 (Sun, 07 Feb 2010)

[in subversion/bindings/swig/include]

* proxy.swg,
  svn_global.swg: Set svn:eol-style=native.

r906188 | rdonch | 2010-02-03 13:19:26 -0600 (Wed, 03 Feb 2010)

It's New Year all over again.

* NOTICE: Bump copyright year.

Approved by: stsp

r906165 | rdonch | 2010-02-03 12:33:17 -0600 (Wed, 03 Feb 2010)

Clean up the Python bindings testsuite's licensing, remove references that
are no longer valid.
* NOTICE: Reference the top-level LICENSE file instead of the now-removed
   one and list all copyright holders for the BSD-licensed code.
* LICENSE: Remove comment marks and list all copyright holders for the
   BSD-licensed code.
* subversion/bindings/swig/python/tests/trac/versioncontrol/tests/svn_fs.py,
  subversion/bindings/swig/python/tests/trac/test.py: Replace references
   to LICENSE_FOR_PYTHON_BINDINGS with the full license text; add the ASF
   blurb where it's missing.

Approved by: cmpilato

r906147 | rdonch | 2010-02-03 11:36:04 -0600 (Wed, 03 Feb 2010)

* subversion/bindings/swig/svn_client.i: Amend a change from r901007 that the
   Perl bindings were not quite ready for.

r904298 | rdonch | 2010-01-28 17:14:21 -0600 (Thu, 28 Jan 2010)

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c:
  (svn_swig_py_unwrap_struct_ptr): Correct brace style.

r904290 | rdonch | 2010-01-28 16:58:31 -0600 (Thu, 28 Jan 2010)

Mild libsvn_swig_py refactoring.

[in subversion/bindings/swig]

* python/libsvn_swig_py/swigutil_py.c,
  (svn_swig_py_changed_path_hash_from_dict): Generalize to work with any
   struct and allow null pointers in the resulting hash. Rename to 
   svn_swig_py_struct_ptr_hash_from_dict, accordingly.

* include/svn_containers.swg: Use the new name (and syntax).

r901315 | cmpilato | 2010-01-20 12:25:25 -0600 (Wed, 20 Jan 2010)

* site/publish/docs/community-guide/index.html
  Bump to XHTML 1.1 DTD.

Suggested by: rdonch

r901312 | cmpilato | 2010-01-20 12:20:02 -0600 (Wed, 20 Jan 2010)

* site/publish/security/index.html
  Fix some validation and content issues.

Patch by: Роман Донченко <DXDragon@yandex.ru>
          (Tweaked by me.)

r901007 | rdonch | 2010-01-19 17:51:24 -0600 (Tue, 19 Jan 2010)

Refactor various routines that transform Python sequences into APR arrays
and associated typemaps to reduce code duplication.

[in subversion/bindings/swig]

* python/libsvn_swig_py/swigutil_py.c,
  (svn_swig_py_struct_ptr_list_to_array): Remove.
  (svn_swig_py_object_unwrap_t): New typedef.
  (svn_swig_py_seq_to_array): New functions to replace the ones removed.
  (svn_swig_py_mergeinfo_from_dict): Update to use the new functions.

* include/svn_containers.swg: Adjust typemaps that were using the old
   functions. Delete the STRINGLIST_MAY_BE_NULL typemap for Python, as it
   behaves the same as STRINGLIST.

* svn_client.i,
  svn_wc.i: Make STRINGLIST_MAY_BE_NULL usage Ruby-specific; if not building
   for Ruby, use STRINGLIST instead.

r880016 | rdonch | 2009-10-11 08:49:21 -0500 (Sun, 11 Oct 2009)

* subversion/bindings/swig/python/tests/repository.py:
  (SubversionRepositoryTestCase.test_create): Fix another case of passing
    native paths to Subversion API.

r879987 | rhuijben | 2009-10-09 16:56:23 -0500 (Fri, 09 Oct 2009)

Following up on r39749, pass the right baton to the cancel function.

* subversion/libsvn_wc/diff.c
  (directory_elements_diff, report_wc_directory_as_added):
    Pass cancel baton instead of callback baton.

Found by: rdonch

r879923 | rdonch | 2009-10-07 16:42:52 -0500 (Wed, 07 Oct 2009)

* subversion/bindings/swig/tests/trac/versioncontrol/tests/svn_fs.py:
   Call svn_dirent_internal_style on REPOS_PATH, as it's passed to the SVN API.

r879918 | rdonch | 2009-10-07 15:25:27 -0500 (Wed, 07 Oct 2009)

* subversion/bindings/swig/include/svn_containers.swg:
   For now, remove one of the checks introduced by r39838, as is requires
   Py_ssize_t, which is apparently not provided by the combination of old SWIG
   and Python 2.4 which is used by the win32-xp VS2005 buildbot.

r879912 | rdonch | 2009-10-07 13:10:34 -0500 (Wed, 07 Oct 2009)

Add checks for two pathological cases to several Python typemaps/utility

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c:

* subversion/bindings/swig/include/svn_containers.swg:
   Check that we successfully retrieved the sequence length, and that it
   fits into an int.

r879862 | rdonch | 2009-10-05 12:41:42 -0500 (Mon, 05 Oct 2009)

* STATUS: Adjust description for r39635 et al.

r879861 | rdonch | 2009-10-05 12:28:46 -0500 (Mon, 05 Oct 2009)

Add a test for svn.client.merge_peg3 to confirm that it was indeed
fixed by r39635.

* subversion/bindings/swig/python/tests/client.py:
  (SubversionClientTestCase.test_merge_peg3): New function.

r879791 | rdonch | 2009-09-30 13:26:31 -0500 (Wed, 30 Sep 2009)

In the svn-python testsuite, use the svn_dirent functions instead of the
svn_path ones, and internal_style instead of canonicalize.
Besides getting rid of deprecated function calls, this also fixes several WC
testcases that were failing on Windows.

* subversion/bindings/swig/python/tests/client.py:
  (SubversionClientTestCase.allocate_temp_dir): use svn_dirent_internal_style
    instead of svn_path_internal_style.

* subversion/bindings/swig/python/tests/wc.py:
  (SubversionWorkingCopyTestCase.setUp): use svn_dirent_internal_style instead
    of svn_path_canonicalize.

r879789 | rdonch | 2009-09-30 12:23:51 -0500 (Wed, 30 Sep 2009)

Make functions from svn_dirent_uri.h available from the SWIG bindings,
minus ones that don't work correctly yet.

* subversion/bindings/swig/core.i: Include the svn_dirent_uri.h functions.
   Ignore the ones that we didn't yet teach SWIG to deal with.

r879767 | rhuijben | 2009-09-30 05:00:30 -0500 (Wed, 30 Sep 2009)

Make svn_dirent_canonicalize() do what it's documentation says it does:
make all drive letters upper case on Windows. To do this without breaking
compatibility svn_dirent_is_canonical will still return TRUE for paths
with lower case drive letters.

As an added bonus svn_dirent_is_canonical stops allocating memory for
the common path formats.

Found by: rdonch

* subversion/include/svn_dirent_uri.h
  (svn_relpath_is_canonical): Update argument name to match documentation.

* subversion/libsvn_subr/dirent_uri.c
  (local_style): Correctly switch code between dirents and relpaths.
     Remove obsolete comment.
  (canonicalize): Upper case drive letters for dirents.
  (svn_dirent_canonicalize): Upper case drive letter in special case.
  (svn_dirent_is_canonical): Use specific implementation for the common
    path formats.

* subversion/tests/libsvn_subr/dirent_uri-test.c
  (test_dirent_canonicalize): Add test values on defined behavior.
   test_dirent_internal_style): Add test values for new behavior and
     update expected values for non canonical paths.

r879764 | rhuijben | 2009-09-30 03:08:37 -0500 (Wed, 30 Sep 2009)

Make svn_dirent_is_absolute() only return true when
svn_dirent_get_absolute() called on that same path returns the same value.
This resolves an issue with lower cased drive letters in Windows, that
where found.

Found by: rdonch

* subversion/libsvn_subr/dirent_uri.c
  (svn_dirent_is_absolute): Don't assume a lowercase drive letter is absolute.

* subversion/tests/libsvn_subr/dirent_uri-test.c
  (test_dirent_is_absolute): Add two test values, verifying the new behavior and
    add verification on svn_dirent_get_absolute() value being the same for absolute
  (test_dirent_get_absolute): Add three test values.

r879755 | rdonch | 2009-09-29 14:41:54 -0500 (Tue, 29 Sep 2009)

* STATUS: Nominate r39635-39637.

r879726 | rdonch | 2009-09-28 10:28:40 -0500 (Mon, 28 Sep 2009)

As a follow-up to r39635, add a test for svn.client.log5, which should
now be working.

* subversion/bindings/swig/python/tests/client.py:
  (SubversionClientTestCase.test_log5): New functions.

r879711 | rdonch | 2009-09-27 16:54:30 -0500 (Sun, 27 Sep 2009)

* subversion/bindings/swig/include/svn_containers.swg:
  In the Python typemap for REVISION_RANGE_LIST, strip the const qualifier
  from the result explicitly to avoid compiler warnings.

r879709 | rdonch | 2009-09-27 15:21:10 -0500 (Sun, 27 Sep 2009)

SWIG/Python: add a typemap for APR arrays of svn_opt_revision_range_t *.
This fixes svn.client.log5 and probably svn.client.merge_peg3 too.

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c:
  (svn_swig_py_struct_ptr_list_to_array): New function.

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h:
  (svn_swig_py_struct_ptr_list_to_array): New function.

* subversion/bindings/swig/include/svn_containers.swg:
  Add a Python typemap for apr_header_t *REVISION_RANGE_LIST.

* subversion/bindings/swig/svn_client.i:
  Apply the new typemap to the revision_ranges argument. Enable it
  for Python.

Found by: blair

r879456 | rdonch | 2009-09-16 16:29:19 -0500 (Wed, 16 Sep 2009)

In the SWIG/Python testsuite, made the libsvn_client tests clean up after themselves, properly.

* subversion/bindings/swig/python/tests:
  (SubversionClientTestCase.allocate_temp_dir): New method.
  (SubversionClientTestCase.setUp): Add storage for cleanup info.
  (SubversionClientTestCase.tearDown): Actually clean up. New method.
  (SubversionClientTestCase.test_info_file): Use allocate_temp_dir to ensure cleanup.

r879352 | rdonch | 2009-09-13 18:26:53 -0500 (Sun, 13 Sep 2009)

* subversion/include/svn_wc.h:
  (svn_wc_adm_close): Expand the comment into a proper docstring.
    Obvious fix.

r879330 | rdonch | 2009-09-12 10:11:04 -0500 (Sat, 12 Sep 2009)

In the SWIG/Python bindings, work around the deprecation of
BaseException.message, to quench the warning appearing when
SubversionException is used.

* subversion\bindings\swig\python\svn\core.py:
  (SubversionException): override BaseException.message with an attribute of
    our own when running on Python 2.6.

r879028 | rdonch | 2009-08-26 11:35:43 -0500 (Wed, 26 Aug 2009)

* build/win32/ (svn:ignore): Add 'BuildLog.htm', since it doesn't look like
    there's a better place for that file.

Approved by: danielsh

r878836 | rhuijben | 2009-08-16 11:11:52 -0500 (Sun, 16 Aug 2009)

* build/generator/serf.vcproj.ezt
* build/generator/neon.vcproj.ezt
* build/generator/zlib.vcproj.ezt
  Add ManagedExtensions="1" value to these three makefile projects to reduce
  the number of build warnings produced when building with Visual C++/MSBuild.
  As these projects are build via a referenced makefile instead of the vcproj
  file, this doesn't change the buildresult in any way.
Patch by: rdonch

r878704 | rdonch | 2009-08-07 15:38:11 -0500 (Fri, 07 Aug 2009)

* build/generator/svn_locale.vcproj.ezt: Specify the correct output directory
   and add an actual clean command. A side effect worth noting is that the build
   log from the project moves to an svn:ignored location.

Approved by: rhuijben

r878669 | rdonch | 2009-08-06 13:53:35 -0500 (Thu, 06 Aug 2009)

* build/generator/svn_locale.vcproj.ezt: remove repetition by adding a loop for configs.

Approved by: rhuijben

r878585 | rdonch | 2009-07-31 09:24:21 -0500 (Fri, 31 Jul 2009)

Make the SWIG/Python bindings installer generator use the correct version
number automatically.

packages/python-windows/setup.py: Replace the hardcoded version number
 with svn.core.SVN_VER_NUMBER.

packages/python-windows/README.txt: Remove the step telling the user to
 correct said version number.

Approved by: djames

r878559 | rdonch | 2009-07-28 15:02:38 -0500 (Tue, 28 Jul 2009)

* subversion/bindings/swig/core.i: Add the definition of APR_STRINGIFY, so  
  SWIG can parse SVN_VER_NUM and dependent macros. Remove explicit  
  definitions of said macros from the Ruby-specific code.

Approved by: cmpilato

r878548 | rdonch | 2009-07-23 09:26:28 -0500 (Thu, 23 Jul 2009)

Ensure the dumps in the Python bindings tests are treated as binary files
(which they are).

[in subversion/bindings/swig/python/tests]

* mergeinfo.py:
  (SubversionMergeinfoTestCase.setUp): Open the dump in binary mode.

* trac/versioncontrol/tests/svn_fs.py:
  (SubversionRepositoryTestSetup.setUp): Ditto.

* trac/versioncontrol/tests/svnrepos.dump (svn:eol-style): Remove the

r878547 | rdonch | 2009-07-23 07:47:29 -0500 (Thu, 23 Jul 2009)

Give the svn_wc_diff_callbacks*_t wrappers more descriptive names.

* subversion/libsvn_wc/deprecated.c: rename callbacks*_wrapper_baton to
    diff_callbacks*_wrapper_baton, callbacks*_wrapper to
    diff_callbacks*_wrapper and the wrapper functions to wrap_?to*_<basename>.

Approved by: stsp

r878543 | rdonch | 2009-07-22 13:58:31 -0500 (Wed, 22 Jul 2009)

* COMMITTERS: Add myself.

r878485 | arfrever | 2009-07-12 12:42:33 -0500 (Sun, 12 Jul 2009)

Update the Python bindings installer generator documentation.

* packages/python-windows/README.txt: Bump the version numbers. Update the
   list of files to match the current state of affairs. Miscellaneous tweaks
   on the text.

Patch by: Роман Донченко <DXDragon@yandex.ru>
(Tweaked by me.)

r878410 | djames | 2009-07-04 19:26:21 -0500 (Sat, 04 Jul 2009)

Fix test_lock in the Python bindings testsuite.

* subversion/bindings/swig/python/tests/wc.py:
  (SubversionWorkingCopyTestCase.test_lock): Assign the lock a token, and
  lock /trunk/README.txt instead of /.

Patch by: Roman <DXDragon@yandex.ru>

r878395 | hwright | 2009-07-02 16:07:36 -0500 (Thu, 02 Jul 2009)

* ^/trunk:
  Add 'serf' to svn:ignore.

Suggested by: Роман Донченко <DXDragon@yandex.ru>

r878381 | hwright | 2009-07-02 10:40:01 -0500 (Thu, 02 Jul 2009)

Create proper wrapper functions for svn_wc_diff_callbacks3_t and use them.  
Also change the misleading comments on the old wrappers.

* subversion/libsvn_wc/deprecated.c
  (file_changed, file_deleted, dir_deleted, dir_props_changed, dir_opened,  
   dir_closed): Relabel as svn_wc_diff_callbacks3_t functions, since that's  
    what they're used as.
  (file_changed3, file_deleted3, dir_deleted3, dir_props_changed3,  
   dir_opened2, dir_closed2): New functions.
  (callbacks3_wrapper): Use the new functions above.

Patch by: Роман Донченко <DXDragon@yandex.ru>

r878192 | djames | 2009-06-20 14:43:49 -0500 (Sat, 20 Jun 2009)

* subversion/bindings/swig/python/tests/client.py
  (testBatonPlay): Redesign test to avoid depending on SWIG's sometimes-buggy
  stringification behavior. Instead, use weak references.

Found by: Roman <DXDragon@yandex.ru>

r878116 | djames | 2009-06-15 08:05:37 -0500 (Mon, 15 Jun 2009)

Fix the python-windows installer generator by making it include the .dll
files in the installer. That list originally consisted only of "*.dll".
When the build system was modified to generate .pyd files for the binary
modules, it was changed to "*.pyd". The Subversion libraries and the
dependencies are still .dll files, though, so "*.dll" needs to be brought

* packages/python-windows/setup.py: Add *.dll to the list of package data.

Patch by: <DXDragon@yandex.ru>