Checkout Tools
  • last updated 2 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Merge the swig-py3 branch to trunk.
  1. … 47 more files in changeset.
swig-py: Followup to r1848425, moving the bulk of the stream

conversion logic into libsvn_swig_py (instead of having it duplicated

dozens of times in generated code).

* subversion/bindings/swig/include/svn_types.swg

(%typemap(in) svn_stream_t *WRAPPED_STREAM): Move the logic of

handling multiple stream-like input types...

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

(svn_swig_py_make_stream): ...to here.

(parse_fn3_set_fulltext): Raise a callback exception if stream

construction fails.

* subversion/bindings/swig/python/tests/repository.py

(test_parse_fns3_invalid_set_fulltext): New test.

Patch by: Yasuhito FUTATSUKI <futatuki at yf.bsdclub.org>

Jun Omae <jun66j5 at gmail.com>

(Tweaked by me.)

  1. … 2 more files in changeset.
swig-py: allow svn.core.svn_stream_t proxy objects and svn.core.Stream

wrapper objects as input to APIs which consume svn_stream_t *.

* subversion/bindings/swig/include/svn_types.swg

(%typemap(in) svn_stream_t *WRAPPED_STREAM): Allow

svn.core.svn_stream_t proxy object for svn_stream_t * in args.

this typemap is used by _client, _delta, _diff, _fs, _ra, and

_repos modules.

* subversion/bindings/swig/python/tests/delta.py

(DeltaTestCase.testTxWindowHandler_stream_IF): New test for

svn_stream_t * interface wrapper accept svn.core.svn_stream_t

proxy object.

(DeltaTestCase.testTxWindowHandler_Stream_IF): New test for

svn_stream_t * interface wrapper accept svn.core.Stream wrapper

object.

Patch by: Yasuhito FUTATSUKI <futatuki at yf.bsdclub.org>

  1. … 1 more file in changeset.
Update external 'diff' command test for svn.fs.FileDiff() to depend on presence

of the command instead of testing for 'win32' platform.

* subversion/bindings/swig/python/tests/fs.py

(SubversionFSTestCase.test_diff_repos_paths): Split function into internal

and external variants.

(SubversionFSTestCase.test_diff_repos_paths_external): New test method.

(SubversionFSTestCase.test_diff_repos_paths_internal): New test method.

(SubversionFSTestCase.setUp): Added unicode test commit from original

test_diff_repos_paths() so all test methods have a common repository setup.

Found by: stsp

Fix Python unit test, fs.SubversionFSTestCase, on Windows.

* subversion/bindings/swig/python/tests/fs.py

(SubversionFSTestCase.test_diff_repos_paths):

Update default test case to invoke internal diff implementation and add

a case for testing calls to the 'diff' executable on non-Windows platforms.

* subversion/bindings/swig/python/svn/fs.py

(FileDiff.__init__): Add difftemp to track temporary file for cleanup.

(FileDiff.__del__): Ensure difftemp is cleaned up.

(File.get_pipe): Add a condition to use the internal diff implementation when

the diffoptions value is given as None.

  1. … 1 more file in changeset.
Ensure Python bindings for fs.FileDiff behaves correctly when the python-future

package is installed.

* subversion/bindings/swig/python/svn/fs.py

Try the Python 2 '__builtin__' import before the Python 3 'builtins'.

(FileDiff._dump_contents): Open temporary file in binary mode.

* subversion/bindings/swig/python/tests/fs.py

Add test for fs.FileDiff.

* subversion/bindings/swig/python/tests/run_all.py

(suite): Add fs test suite.

Found By: Kenneth Porter <shiva@sewingwitch.com>

  1. … 1 more file in changeset.
Work towards Python 3 compatibility. Since we already require Python 2.7+,

we can use the new syntax without further limiting our Python 2 support.

* contrib/client-side/incremental-update.py

* contrib/client-side/svn_apply_autoprops.py

* contrib/client-side/svnmerge/svnmerge-migrate-history.py

* contrib/client-side/svnmerge/svnmerge-migrate-history-remotely.py

* contrib/client-side/svnmerge/svnmerge.py

* contrib/client-side/svnmerge/svnmerge_test.py

* contrib/server-side/add-needs-lock.py

* contrib/server-side/fsfsfixer/fixer/fix-rev.py

* contrib/server-side/fsfsverify.py

* contrib/server-side/svn-tweak-author.py

* subversion/bindings/swig/python/tests/core.py

* subversion/bindings/swig/python/tests/repository.py

* subversion/tests/cmdline/svntest/actions.py

* subversion/tests/cmdline/svntest/main.py

* subversion/tests/cmdline/svntest/objects.py

* subversion/tests/cmdline/svntest/wc.py

* subversion/tests/cmdline/upgrade_tests.py

* tools/client-side/change-svn-wc-format.py

* tools/client-side/mergeinfo-sanitizer.py

* tools/dev/contribulyze.py

* tools/dev/gen-javahl-errors.py

* tools/dev/gen_junit_report.py

* tools/dev/graph-dav-servers.py

* tools/dev/iz/ff2csv.py

* tools/dev/iz/find-fix.py

* tools/dev/wc-ng/bump-to-19.py

* tools/dev/wc-ng/populate-pristine.py

* tools/dev/which-error.py

* tools/examples/get-location-segments.py

* tools/hook-scripts/svn2feed.py

* tools/hook-scripts/svnperms.py

* tools/po/l10n-report.py

* tools/server-side/fsfs-reshard.py

* tools/server-side/svn-backup-dumps.py

* tools/server-side/svnpredumpfilter.py

* tools/server-side/svnpubsub/daemonize.py

* tools/server-side/test_svn_server_log_parse.py

(): Replace all occurances of "except Type, variable:" with Python 3

style "except Type as variable".

  1. … 35 more files in changeset.
Allow SWIG to support svn_cache_config_t so that scripts can configure

the FSFS cache. This works for Python, I think Ruby and Perl need some

more bits but I cannot work out what is required.

* subversion/bindings/swig/core.i: Include svn_cache_config header.

* subversion/bindings/swig/python/tests/run_all.py: Set the cache size.

  1. … 1 more file in changeset.
Fix SWIG Python support for svn_ra_lock and svn_ra_unlock.

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

(svn_swig_py_ra_lock_callback): Pass ra_err.

* subversion/bindings/swig/python/tests/ra.py

(test_lock): Setup simple username provider, extend test, expect lock

and unlock to work.

  1. … 1 more file in changeset.
SWIG Python support for svn_fs_lock_many, svn_fs_unlock_many,

svn_repos_fs_lock_many and svn_repos_unlock_many.

* subversion/include/svn_fs.h

(svn_fs_lock_many, svn_fs_unlock_many): Rename parameter so that it

can be mapped by SWIG.

* subversion/include/svn_repos.h

(svn_repos_fs_lock_many, svn_repos_fs_unlock_many): Rename parameter

so that it can be mapped by SWIG.

* subversion/bindings/swig/include/svn_containers.swg

(unlock_targets, lock_targets): New typemaps.

* subversion/bindings/swig/svn_fs.i

(svn_swig_py_fs_lock_callback): New callback_typemap.

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h

(svn_swig_py_fs_lock_callback): New.

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

(make_ob_error, svn_swig_py_fs_lock_callback): New.

* subversion/bindings/swig/python/tests/repository.py

(test_lock_unlock): New test.

  1. … 6 more files in changeset.
* repository.py: Use assertEqual() instead of assertListEqual

(which is only available in Python 2.7+)

Implement Python bindings for dump stream parser.

* subversion/bindings/swig/include/svn_types.swg

(): Fix a typo in svn_repos_parser_fns2_t type name, add

svn_repos_parser_fns2_t type to the argout typemap.

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

(item_baton): Add pool; needed for certain methods in dump

stream parser that do not take pool argument.

(make_baton): Increment refcount on `editor'; remove incorrect

the comment stating the current usage is safe. Save pool pointer.

(close_baton): Decrement refcount on `editor'.

(svn_swig_py_make_parse_fns3): New function; creates vtable/baton

to be used in a later call to repos.parse_dumpstream3()

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

(svn_swig_py_make_parse_fns3): New function.

* subversion/bindings/swig/python/svn/core.py

(Stream.close): Guard against double-close.

* subversion/bindings/swig/python/svn/repos.py

(ParseFns3): New class; vtable for dump stream parser.

* subversion/bindings/swig/python/tests/repository.py

(test_parse_fns3): Test for dump stream parser bindings.

(test_unnamed_editor): Test for make_baton/close_baton fix.

* subversion/bindings/swig/svn_repos.i

(svn_swig_py_make_parse_fns3): Wrap it.

  1. … 6 more files in changeset.
swig-py: Sort the paths in the update test to avoid spurious failures.

* subversion/tests/swig/python/tests/client.py

(test_update4): The ordering isn't necessarily guaranteed so sort.

* subversion/bindings/swig/python/tests/client.py

(test_update4): Following up on r1594814, fix a second set of expected paths.

Following up on r1594794, try to fix a test assertion.

* subversion/bindings/swig/python/tests/client.py

(test_update4): Update the list of expected paths on platforms where the

canonical path format and platform path format don't match, to fix test

failure on the Windows buildbot.

swig-py: Make it possilbe to use the notify callbacks with python bindings.

* subversion/bindings/swig/svn_client.i

(svn_wc_notify_func2_t): Use proper function to be a svn_wc_notify_func2_t.

(svn_wc_notify_func_t): New.

* subversion/bindings/swig/python/tests/client.py

(test_update4): New test.

  1. … 1 more file in changeset.
* **/**

Run tools/dev/remove-trailing-whitespace.sh to remove all trailing whitespace

before we branch 1.8, like we did before creating previous branches.

No functional changes.

  1. … 198 more files in changeset.
Add SWIG python support for svn_repos_freeze.

* subversion/include/svn_repos.h

(typedef svn_repos_freeze_func_t): New.

(svn_repos_freeze): Use typedef.

* subversion/libsvn_repos/repos.c

(struct freeze_baton_t, svn_repos_freeze): Use typedef.

* subversion/svnadmin/svnadmin.c

(freeze_body): Add comment.

* subversion/bindings/swig/include/svn_types.swg

(svn_repos_freeze_func_t): New.

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h

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

(svn_swig_py_repos_freeze_func): New.

* subversion/bindings/swig/python/tests/repository.py

(setUp): Store repository path.

(freeze_body): New callback.

(test_freeze): New test.

  1. … 6 more files in changeset.
Extend a swig-py test.

* subversion/bindings/swig/python/tests/client.py

(proplist_receiver_trunk, proplist_receiver_dir1): Change scope.

(test_inherited_props): Verify callbacks are called.

Add SWIG python support for inherited properties with svn_client_propget5

and svn_client_proplist4.

* subversion/bindings/swig/include/svn_containers.swg:

(OUTPUT_OF_PROP_INHERITED_ITEM): New.

* subversion/bindings/swig/include/svn_types.swg

(svn_proplist_receiver2_t): New.

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h

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

(svn_swig_py_propinheriteditemarray_to_dict,

svn_swig_py_proplist_receiver2): New.

* subversion/bindings/swig/python/tests/client.py

(test_inherited_props): New.

  1. … 4 more files in changeset.
Set svn:eol-style native on several new files.

* subversion/bindings/cxxhl/src/exception.cpp

* subversion/bindings/cxxhl/src/tristate.cpp

* subversion/bindings/cxxhl/tests/test_exception.cpp

* subversion/bindings/swig/python/tests/checksum.py

* subversion/bindings/javahl/native/DiffOptions.h

* subversion/bindings/javahl/native/DiffOptions.cpp

* subversion/bindings/javahl/native/ReposFreezeAction.cpp

* subversion/bindings/javahl/native/org_apache_subversion_javahl_types_VersionExtended.cpp

* subversion/bindings/javahl/native/ReposFreezeAction.h

* subversion/bindings/javahl/native/VersionExtended.h

* subversion/bindings/javahl/native/VersionExtended.cpp

* subversion/libsvn_ra/deprecated.h

Set svn:eol-style native. No text changes.

* subversion/libsvn_wc/diff.h

Set svn:eol-style native. All lines updated to update eol.

  1. … 12 more files in changeset.
* subversion/bindings/swig/python/tests/checksum.py:

Revert change committed accidentally in r1457064.

Test the behaviour of svn_checksum_match.

* subversion/tests/libsvn_subr/checksum-test.c

(zero_match): New test.

(test_funcs): Add new test.

[subversion/bindings/swig/python/tests/checksum.py change reverted in 1457067]

  1. … 1 more file in changeset.
Remove some neon references still lingering about.

* get-deps.sh

(get_deps): No reason to warn that we won't be downloading neon if the neon

directory exists, since we won't be downloading neon anyway.

* build/win32

(svn:ignore): build_neon.bat shouldn't be being produced. Let people realize

they can delete this obsolete file.

* subversion/bindings/swig/python/tests/ra.py

(test_namestring): ra_neon is gone and ra_svn supports get_client_string so

allow the test to run against svn:// and make the comment accurate.

* subversion/bindings/swig/perl/native/Core.pm

(SVN::Auth::SSL::OTHER): Update documentation to not refer to a specific

http lib.

* subversion/bindings/swig/perl/native/Makefile.PL.in

(@ldpaths): Don't include libsvn_ra_neon in the library paths.

* aclocal.m4: Don't include the neon.m4 file.

  1. … 5 more files in changeset.
* subversion/bindings/swig/tests/checksum.py:

(ChecksumTestCases.test_checksum): Just hardcode the length of an md5

checksum. See:

From: Peter Samuelson

Subject: Re: [PATCH] Improve svn_checksum_t bindings in SWIG

To: Daniel Shahaf

Cc: Shivani Poddar, dev@, Ben Reser

Date: Tue, 11 Dec 2012 12:49:27 -0600

Message-ID: <20121211184927.GQ4149@p12n.org>

Followup to r1418830: improve the new test.

* subversion/bindings/swig/python/tests/checksum.py

(ChecksumTestCases.test_checksum):

Rewrite so that it will FAIL sometimes. Remove errorful uses

of assertRaises().

Patch by: Shivani Poddar <shivani.poddar92@gmail.com>

danielsh

breser

Initial support for svn_checksum.h in SWIG bindings.

* subversion/bindings/swig/core.i: Pulled in header svn_checksum.h

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

* subversion/bindings/swig/python/tests/run_all.py

(suite): Included a test_suite for checksum.py

Patch by: Shivani Poddar <shivani.poddar92@gmail.com>

(Tweaked by me.)

Suggested by: breser

danielsh

stsp

  1. … 1 more file in changeset.
* subversion/bindings/swig/python/tests/core.py:

(SubversionCoreTestCase.test_config_enumerate2),

(SubversionCoreTestCase.test_config_enumerate_sections2):

Use assert_ instead of assertIn, as the latter was not yet invented in

Python 2.4.

Implemented svn_config_enumerate_sections2 in the SWIG Python bindings.

[in subversion/bindings/swig]

* python/libsvn_swig_py/swigutil_py.c,

python/libsvn_swig_py/swigutil_py.h:

(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),

(SubversionCoreTestCase.test_config_enumerate_sections2_exception): New tests.

  1. … 3 more files in changeset.
* subversion/bindings/swig/python/tests/core.py:

(SubversionCoreTestCase.test_config_enumerate2): Use assertIn instead of

assertTrue.