You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by br...@apache.org on 2015/01/03 15:00:44 UTC

svn commit: r1649205 [1/30] - in /subversion/branches/authzperf: ./ build/ build/ac-macros/ notes/ subversion/bindings/ctypes-python/ subversion/bindings/cxxhl/ subversion/bindings/javahl/tests/org/apache/subversion/javahl/ subversion/bindings/swig/ su...

Author: brane
Date: Sat Jan  3 14:00:41 2015
New Revision: 1649205

URL: http://svn.apache.org/r1649205
Log:
On the authzperf branch: Sync with trunk up to r1649188.

Added:
    subversion/branches/authzperf/subversion/include/private/svn_fs_fs_private.h
      - copied unchanged from r1649188, subversion/trunk/subversion/include/private/svn_fs_fs_private.h
    subversion/branches/authzperf/subversion/libsvn_fs_fs/dump-index.c
      - copied unchanged from r1649188, subversion/trunk/subversion/libsvn_fs_fs/dump-index.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/load-index.c
      - copied unchanged from r1649188, subversion/trunk/subversion/libsvn_fs_fs/load-index.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/stats.c
      - copied unchanged from r1649188, subversion/trunk/subversion/libsvn_fs_fs/stats.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/fs_id.c
      - copied unchanged from r1649188, subversion/trunk/subversion/libsvn_fs_x/fs_id.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/fs_id.h
      - copied unchanged from r1649188, subversion/trunk/subversion/libsvn_fs_x/fs_id.h
    subversion/branches/authzperf/subversion/libsvn_fs_x/rev_file.c
      - copied unchanged from r1649188, subversion/trunk/subversion/libsvn_fs_x/rev_file.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/rev_file.h
      - copied unchanged from r1649188, subversion/trunk/subversion/libsvn_fs_x/rev_file.h
    subversion/branches/authzperf/subversion/tests/cmdline/svnadmin_tests_data/load_txdelta.dump.gz
      - copied unchanged from r1649188, subversion/trunk/subversion/tests/cmdline/svnadmin_tests_data/load_txdelta.dump.gz
    subversion/branches/authzperf/subversion/tests/cmdline/svnrdump_tests_data/mergeinfo-contains-r0.dump
      - copied unchanged from r1649188, subversion/trunk/subversion/tests/cmdline/svnrdump_tests_data/mergeinfo-contains-r0.dump
    subversion/branches/authzperf/subversion/tests/cmdline/svnrdump_tests_data/mergeinfo-contains-r0.expected.dump
      - copied unchanged from r1649188, subversion/trunk/subversion/tests/cmdline/svnrdump_tests_data/mergeinfo-contains-r0.expected.dump
    subversion/branches/authzperf/subversion/tests/cmdline/svnsync_tests_data/mergeinfo-contains-r0.dump
      - copied unchanged from r1649188, subversion/trunk/subversion/tests/cmdline/svnsync_tests_data/mergeinfo-contains-r0.dump
    subversion/branches/authzperf/subversion/tests/cmdline/svnsync_tests_data/mergeinfo-contains-r0.expected.dump
      - copied unchanged from r1649188, subversion/trunk/subversion/tests/cmdline/svnsync_tests_data/mergeinfo-contains-r0.expected.dump
    subversion/branches/authzperf/subversion/tests/libsvn_fs_fs/fs-fs-fuzzy-test.c
      - copied unchanged from r1649188, subversion/trunk/subversion/tests/libsvn_fs_fs/fs-fs-fuzzy-test.c
    subversion/branches/authzperf/subversion/tests/libsvn_fs_fs/fs-fs-private-test.c
      - copied unchanged from r1649188, subversion/trunk/subversion/tests/libsvn_fs_fs/fs-fs-private-test.c
    subversion/branches/authzperf/tools/buildbot/slaves/svn-x64-macosx/
      - copied from r1649188, subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/
    subversion/branches/authzperf/tools/client-side/svn-vendor.py
      - copied unchanged from r1649188, subversion/trunk/tools/client-side/svn-vendor.py
    subversion/branches/authzperf/tools/examples/ExampleAuthn.java
      - copied unchanged from r1649188, subversion/trunk/tools/examples/ExampleAuthn.java
    subversion/branches/authzperf/tools/examples/ExampleAuthnOld.java
      - copied unchanged from r1649188, subversion/trunk/tools/examples/ExampleAuthnOld.java
    subversion/branches/authzperf/tools/examples/ExampleAuthnVeryOld.java
      - copied unchanged from r1649188, subversion/trunk/tools/examples/ExampleAuthnVeryOld.java
Removed:
    subversion/branches/authzperf/subversion/include/private/svn_named_atomic.h
    subversion/branches/authzperf/subversion/libsvn_subr/named_atomic.c
    subversion/branches/authzperf/subversion/svn-bench/client_errors.h
    subversion/branches/authzperf/subversion/svn/client_errors.h
    subversion/branches/authzperf/subversion/tests/libsvn_subr/named_atomic-test-common.h
    subversion/branches/authzperf/subversion/tests/libsvn_subr/named_atomic-test-proc.c
    subversion/branches/authzperf/subversion/tests/libsvn_subr/named_atomic-test.c
    subversion/branches/authzperf/tools/client-side/showchange.pl
Modified:
    subversion/branches/authzperf/   (props changed)
    subversion/branches/authzperf/CHANGES
    subversion/branches/authzperf/COMMITTERS
    subversion/branches/authzperf/Makefile.in
    subversion/branches/authzperf/autogen.sh
    subversion/branches/authzperf/build.conf
    subversion/branches/authzperf/build/ac-macros/apache.m4
    subversion/branches/authzperf/build/buildcheck.sh
    subversion/branches/authzperf/build/run_tests.py
    subversion/branches/authzperf/configure.ac
    subversion/branches/authzperf/get-deps.sh
    subversion/branches/authzperf/notes/   (props changed)
    subversion/branches/authzperf/notes/dump-load-format.txt
    subversion/branches/authzperf/notes/knobs
    subversion/branches/authzperf/subversion/bindings/ctypes-python/README   (props changed)
    subversion/branches/authzperf/subversion/bindings/cxxhl/README   (props changed)
    subversion/branches/authzperf/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
    subversion/branches/authzperf/subversion/bindings/swig/include/svn_types.swg
    subversion/branches/authzperf/subversion/bindings/swig/perl/native/Client.pm
    subversion/branches/authzperf/subversion/bindings/swig/perl/native/Repos.pm
    subversion/branches/authzperf/subversion/bindings/swig/perl/native/t/1repos.t
    subversion/branches/authzperf/subversion/bindings/swig/perl/native/t/3client.t
    subversion/branches/authzperf/subversion/bindings/swig/perl/native/t/6ra.t
    subversion/branches/authzperf/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
    subversion/branches/authzperf/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h
    subversion/branches/authzperf/subversion/bindings/swig/python/svn/core.py
    subversion/branches/authzperf/subversion/bindings/swig/python/svn/repos.py
    subversion/branches/authzperf/subversion/bindings/swig/python/tests/repository.py
    subversion/branches/authzperf/subversion/bindings/swig/svn_client.i
    subversion/branches/authzperf/subversion/bindings/swig/svn_repos.i
    subversion/branches/authzperf/subversion/include/mod_dav_svn.h
    subversion/branches/authzperf/subversion/include/private/README   (props changed)
    subversion/branches/authzperf/subversion/include/private/svn_cert.h   (props changed)
    subversion/branches/authzperf/subversion/include/private/svn_dep_compat.h
    subversion/branches/authzperf/subversion/include/private/svn_mergeinfo_private.h
    subversion/branches/authzperf/subversion/include/private/svn_opt_private.h
    subversion/branches/authzperf/subversion/include/private/svn_wc_private.h
    subversion/branches/authzperf/subversion/include/svn_client.h
    subversion/branches/authzperf/subversion/include/svn_cmdline.h
    subversion/branches/authzperf/subversion/include/svn_delta.h
    subversion/branches/authzperf/subversion/include/svn_error_codes.h
    subversion/branches/authzperf/subversion/include/svn_fs.h
    subversion/branches/authzperf/subversion/include/svn_io.h
    subversion/branches/authzperf/subversion/include/svn_opt.h
    subversion/branches/authzperf/subversion/include/svn_repos.h
    subversion/branches/authzperf/subversion/include/svn_string.h
    subversion/branches/authzperf/subversion/include/svn_wc.h
    subversion/branches/authzperf/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c
    subversion/branches/authzperf/subversion/libsvn_client/checkout.c
    subversion/branches/authzperf/subversion/libsvn_client/cleanup.c
    subversion/branches/authzperf/subversion/libsvn_client/client.h
    subversion/branches/authzperf/subversion/libsvn_client/cmdline.c
    subversion/branches/authzperf/subversion/libsvn_client/commit.c
    subversion/branches/authzperf/subversion/libsvn_client/commit_util.c
    subversion/branches/authzperf/subversion/libsvn_client/copy.c
    subversion/branches/authzperf/subversion/libsvn_client/diff.c
    subversion/branches/authzperf/subversion/libsvn_client/diff_local.c
    subversion/branches/authzperf/subversion/libsvn_client/export.c
    subversion/branches/authzperf/subversion/libsvn_client/externals.c
    subversion/branches/authzperf/subversion/libsvn_client/import.c
    subversion/branches/authzperf/subversion/libsvn_client/info.c
    subversion/branches/authzperf/subversion/libsvn_client/locking_commands.c
    subversion/branches/authzperf/subversion/libsvn_client/merge.c
    subversion/branches/authzperf/subversion/libsvn_client/mergeinfo.c
    subversion/branches/authzperf/subversion/libsvn_client/mtcc.c
    subversion/branches/authzperf/subversion/libsvn_client/patch.c
    subversion/branches/authzperf/subversion/libsvn_client/prop_commands.c
    subversion/branches/authzperf/subversion/libsvn_client/ra.c
    subversion/branches/authzperf/subversion/libsvn_client/relocate.c
    subversion/branches/authzperf/subversion/libsvn_client/resolved.c
    subversion/branches/authzperf/subversion/libsvn_client/revert.c
    subversion/branches/authzperf/subversion/libsvn_client/status.c
    subversion/branches/authzperf/subversion/libsvn_client/switch.c
    subversion/branches/authzperf/subversion/libsvn_client/update.c
    subversion/branches/authzperf/subversion/libsvn_client/upgrade.c
    subversion/branches/authzperf/subversion/libsvn_client/util.c
    subversion/branches/authzperf/subversion/libsvn_delta/debug_editor.c
    subversion/branches/authzperf/subversion/libsvn_delta/path_driver.c
    subversion/branches/authzperf/subversion/libsvn_delta/text_delta.c
    subversion/branches/authzperf/subversion/libsvn_diff/diff_file.c
    subversion/branches/authzperf/subversion/libsvn_fs/fs-loader.c
    subversion/branches/authzperf/subversion/libsvn_fs_base/bdb/changes-table.c
    subversion/branches/authzperf/subversion/libsvn_fs_base/fs.c
    subversion/branches/authzperf/subversion/libsvn_fs_base/reps-strings.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/cached_data.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/caching.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/dag.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/dag.h
    subversion/branches/authzperf/subversion/libsvn_fs_fs/fs.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/fs.h
    subversion/branches/authzperf/subversion/libsvn_fs_fs/fs_fs.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/fs_fs.h
    subversion/branches/authzperf/subversion/libsvn_fs_fs/hotcopy.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/id.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/id.h
    subversion/branches/authzperf/subversion/libsvn_fs_fs/index.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/index.h
    subversion/branches/authzperf/subversion/libsvn_fs_fs/lock.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/low_level.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/low_level.h
    subversion/branches/authzperf/subversion/libsvn_fs_fs/pack.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/pack.h
    subversion/branches/authzperf/subversion/libsvn_fs_fs/recovery.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/rev_file.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/rev_file.h
    subversion/branches/authzperf/subversion/libsvn_fs_fs/revprops.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/revprops.h
    subversion/branches/authzperf/subversion/libsvn_fs_fs/structure
    subversion/branches/authzperf/subversion/libsvn_fs_fs/structure-indexes
    subversion/branches/authzperf/subversion/libsvn_fs_fs/temp_serializer.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/transaction.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/tree.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/util.c
    subversion/branches/authzperf/subversion/libsvn_fs_fs/util.h
    subversion/branches/authzperf/subversion/libsvn_fs_fs/verify.c
    subversion/branches/authzperf/subversion/libsvn_fs_util/fs-util.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/   (props changed)
    subversion/branches/authzperf/subversion/libsvn_fs_x/cached_data.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/cached_data.h
    subversion/branches/authzperf/subversion/libsvn_fs_x/caching.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/changes.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/changes.h
    subversion/branches/authzperf/subversion/libsvn_fs_x/dag.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/dag.h
    subversion/branches/authzperf/subversion/libsvn_fs_x/fs.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/fs.h
    subversion/branches/authzperf/subversion/libsvn_fs_x/fs_x.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/fs_x.h
    subversion/branches/authzperf/subversion/libsvn_fs_x/hotcopy.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/hotcopy.h
    subversion/branches/authzperf/subversion/libsvn_fs_x/id.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/id.h
    subversion/branches/authzperf/subversion/libsvn_fs_x/index.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/index.h
    subversion/branches/authzperf/subversion/libsvn_fs_x/lock.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/low_level.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/low_level.h
    subversion/branches/authzperf/subversion/libsvn_fs_x/noderevs.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/noderevs.h
    subversion/branches/authzperf/subversion/libsvn_fs_x/pack.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/recovery.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/rep-cache.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/rep-cache.h
    subversion/branches/authzperf/subversion/libsvn_fs_x/reps.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/reps.h
    subversion/branches/authzperf/subversion/libsvn_fs_x/revprops.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/revprops.h
    subversion/branches/authzperf/subversion/libsvn_fs_x/temp_serializer.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/temp_serializer.h
    subversion/branches/authzperf/subversion/libsvn_fs_x/transaction.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/transaction.h
    subversion/branches/authzperf/subversion/libsvn_fs_x/tree.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/tree.h
    subversion/branches/authzperf/subversion/libsvn_fs_x/util.c
    subversion/branches/authzperf/subversion/libsvn_fs_x/util.h
    subversion/branches/authzperf/subversion/libsvn_fs_x/verify.c
    subversion/branches/authzperf/subversion/libsvn_ra_serf/blame.c
    subversion/branches/authzperf/subversion/libsvn_ra_serf/commit.c
    subversion/branches/authzperf/subversion/libsvn_ra_serf/get_lock.c
    subversion/branches/authzperf/subversion/libsvn_ra_serf/lock.c
    subversion/branches/authzperf/subversion/libsvn_ra_serf/log.c
    subversion/branches/authzperf/subversion/libsvn_ra_serf/merge.c
    subversion/branches/authzperf/subversion/libsvn_ra_serf/ra_serf.h
    subversion/branches/authzperf/subversion/libsvn_ra_serf/update.c
    subversion/branches/authzperf/subversion/libsvn_ra_serf/xml.c
    subversion/branches/authzperf/subversion/libsvn_ra_svn/client.c
    subversion/branches/authzperf/subversion/libsvn_repos/deprecated.c
    subversion/branches/authzperf/subversion/libsvn_repos/dump.c
    subversion/branches/authzperf/subversion/libsvn_repos/load-fs-vtable.c
    subversion/branches/authzperf/subversion/libsvn_repos/log.c
    subversion/branches/authzperf/subversion/libsvn_repos/replay.c
    subversion/branches/authzperf/subversion/libsvn_repos/repos.c
    subversion/branches/authzperf/subversion/libsvn_repos/rev_hunt.c
    subversion/branches/authzperf/subversion/libsvn_subr/bit_array.c   (props changed)
    subversion/branches/authzperf/subversion/libsvn_subr/cache-inprocess.c
    subversion/branches/authzperf/subversion/libsvn_subr/cache-membuffer.c
    subversion/branches/authzperf/subversion/libsvn_subr/cache_config.c
    subversion/branches/authzperf/subversion/libsvn_subr/cmdline.c
    subversion/branches/authzperf/subversion/libsvn_subr/config.c
    subversion/branches/authzperf/subversion/libsvn_subr/deprecated.c
    subversion/branches/authzperf/subversion/libsvn_subr/gpg_agent.c
    subversion/branches/authzperf/subversion/libsvn_subr/io.c
    subversion/branches/authzperf/subversion/libsvn_subr/mergeinfo.c
    subversion/branches/authzperf/subversion/libsvn_subr/opt.c
    subversion/branches/authzperf/subversion/libsvn_subr/packed_data.c
    subversion/branches/authzperf/subversion/libsvn_subr/path.c
    subversion/branches/authzperf/subversion/libsvn_subr/stream.c
    subversion/branches/authzperf/subversion/libsvn_subr/string.c
    subversion/branches/authzperf/subversion/libsvn_subr/subst.c
    subversion/branches/authzperf/subversion/libsvn_subr/sysinfo.c
    subversion/branches/authzperf/subversion/libsvn_subr/utf8proc/README   (props changed)
    subversion/branches/authzperf/subversion/libsvn_wc/adm_ops.c
    subversion/branches/authzperf/subversion/libsvn_wc/cleanup.c
    subversion/branches/authzperf/subversion/libsvn_wc/copy.c
    subversion/branches/authzperf/subversion/libsvn_wc/deprecated.c
    subversion/branches/authzperf/subversion/libsvn_wc/diff.h
    subversion/branches/authzperf/subversion/libsvn_wc/diff_editor.c
    subversion/branches/authzperf/subversion/libsvn_wc/diff_local.c
    subversion/branches/authzperf/subversion/libsvn_wc/externals.c
    subversion/branches/authzperf/subversion/libsvn_wc/node.c
    subversion/branches/authzperf/subversion/libsvn_wc/update_editor.c
    subversion/branches/authzperf/subversion/libsvn_wc/wc.h
    subversion/branches/authzperf/subversion/libsvn_wc/wc_db.c
    subversion/branches/authzperf/subversion/libsvn_wc/wc_db.h
    subversion/branches/authzperf/subversion/libsvn_wc/workqueue.c
    subversion/branches/authzperf/subversion/libsvn_wc/workqueue.h
    subversion/branches/authzperf/subversion/mod_authz_svn/mod_authz_svn.c
    subversion/branches/authzperf/subversion/mod_dav_svn/deadprops.c
    subversion/branches/authzperf/subversion/mod_dav_svn/lock.c
    subversion/branches/authzperf/subversion/mod_dav_svn/mod_dav_svn.c
    subversion/branches/authzperf/subversion/mod_dav_svn/reports/deleted-rev.c
    subversion/branches/authzperf/subversion/mod_dav_svn/reports/file-revs.c
    subversion/branches/authzperf/subversion/mod_dav_svn/reports/get-location-segments.c
    subversion/branches/authzperf/subversion/mod_dav_svn/reports/get-locations.c
    subversion/branches/authzperf/subversion/mod_dav_svn/reports/get-locks.c
    subversion/branches/authzperf/subversion/mod_dav_svn/reports/inherited-props.c
    subversion/branches/authzperf/subversion/mod_dav_svn/reports/log.c
    subversion/branches/authzperf/subversion/mod_dav_svn/reports/mergeinfo.c
    subversion/branches/authzperf/subversion/mod_dav_svn/repos.c
    subversion/branches/authzperf/subversion/mod_dav_svn/status.c   (props changed)
    subversion/branches/authzperf/subversion/mod_dav_svn/util.c
    subversion/branches/authzperf/subversion/mod_dav_svn/version.c
    subversion/branches/authzperf/subversion/po/de.po
    subversion/branches/authzperf/subversion/po/zh_CN.po
    subversion/branches/authzperf/subversion/svn-bench/cl.h
    subversion/branches/authzperf/subversion/svn-bench/help-cmd.c
    subversion/branches/authzperf/subversion/svn-bench/svn-bench.c
    subversion/branches/authzperf/subversion/svn/auth-cmd.c
    subversion/branches/authzperf/subversion/svn/checkout-cmd.c
    subversion/branches/authzperf/subversion/svn/cl.h
    subversion/branches/authzperf/subversion/svn/conflict-callbacks.c
    subversion/branches/authzperf/subversion/svn/export-cmd.c
    subversion/branches/authzperf/subversion/svn/svn.c
    subversion/branches/authzperf/subversion/svn/util.c
    subversion/branches/authzperf/subversion/svnadmin/svnadmin.c
    subversion/branches/authzperf/subversion/svndumpfilter/svndumpfilter.c
    subversion/branches/authzperf/subversion/svnfsfs/dump-index-cmd.c
    subversion/branches/authzperf/subversion/svnfsfs/load-index-cmd.c
    subversion/branches/authzperf/subversion/svnfsfs/stats-cmd.c
    subversion/branches/authzperf/subversion/svnfsfs/svnfsfs.c
    subversion/branches/authzperf/subversion/svnfsfs/svnfsfs.h
    subversion/branches/authzperf/subversion/svnlook/svnlook.c
    subversion/branches/authzperf/subversion/svnmucc/svnmucc.c
    subversion/branches/authzperf/subversion/svnrdump/load_editor.c
    subversion/branches/authzperf/subversion/svnrdump/svnrdump.c
    subversion/branches/authzperf/subversion/svnserve/svnserve.c
    subversion/branches/authzperf/subversion/svnsync/svnsync.c
    subversion/branches/authzperf/subversion/svnsync/sync.c
    subversion/branches/authzperf/subversion/tests/cmdline/basic_tests.py
    subversion/branches/authzperf/subversion/tests/cmdline/copy_tests.py
    subversion/branches/authzperf/subversion/tests/cmdline/davautocheck.sh
    subversion/branches/authzperf/subversion/tests/cmdline/externals_tests.py
    subversion/branches/authzperf/subversion/tests/cmdline/getopt_tests_data/svn_help_log_switch_stdout
    subversion/branches/authzperf/subversion/tests/cmdline/lock_tests.py
    subversion/branches/authzperf/subversion/tests/cmdline/patch_tests.py
    subversion/branches/authzperf/subversion/tests/cmdline/redirect_tests.py
    subversion/branches/authzperf/subversion/tests/cmdline/svnadmin_tests.py
    subversion/branches/authzperf/subversion/tests/cmdline/svndumpfilter_tests.py
    subversion/branches/authzperf/subversion/tests/cmdline/svnrdump_tests.py
    subversion/branches/authzperf/subversion/tests/cmdline/svnsync_tests.py
    subversion/branches/authzperf/subversion/tests/cmdline/svntest/main.py
    subversion/branches/authzperf/subversion/tests/cmdline/switch_tests.py
    subversion/branches/authzperf/subversion/tests/libsvn_fs/fs-test.c
    subversion/branches/authzperf/subversion/tests/libsvn_fs_fs/   (props changed)
    subversion/branches/authzperf/subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c
    subversion/branches/authzperf/subversion/tests/libsvn_fs_x/   (props changed)
    subversion/branches/authzperf/subversion/tests/libsvn_fs_x/fs-x-pack-test.c
    subversion/branches/authzperf/subversion/tests/libsvn_repos/dump-load-test.c
    subversion/branches/authzperf/subversion/tests/libsvn_subr/bit-array-test.c   (props changed)
    subversion/branches/authzperf/subversion/tests/libsvn_subr/cache-test.c
    subversion/branches/authzperf/subversion/tests/libsvn_subr/config-test.c
    subversion/branches/authzperf/subversion/tests/libsvn_subr/io-test.c
    subversion/branches/authzperf/subversion/tests/libsvn_subr/mergeinfo-test.c
    subversion/branches/authzperf/subversion/tests/libsvn_subr/skel-test.c
    subversion/branches/authzperf/subversion/tests/libsvn_subr/stream-test.c
    subversion/branches/authzperf/subversion/tests/libsvn_wc/wc-test.c
    subversion/branches/authzperf/subversion/tests/manual/README   (props changed)
    subversion/branches/authzperf/subversion/tests/svn_test.h
    subversion/branches/authzperf/subversion/tests/svn_test_fs.c
    subversion/branches/authzperf/subversion/tests/svn_test_fs.h
    subversion/branches/authzperf/subversion/tests/templates/greek-fsfs-v6.zip
    subversion/branches/authzperf/tools/buildbot/slaves/svn-sparc-solaris/svnbuild.sh
    subversion/branches/authzperf/tools/buildbot/slaves/win32-SharpSvn/svntest-bindings.cmd
    subversion/branches/authzperf/tools/client-side/bash_completion
    subversion/branches/authzperf/tools/dev/fsfs-access-map.c
    subversion/branches/authzperf/tools/dev/unix-build/Makefile.svn
    subversion/branches/authzperf/tools/dist/release.py
    subversion/branches/authzperf/tools/hook-scripts/mailer/tests/mailer-init.sh
    subversion/branches/authzperf/tools/server-side/svnpredumpfilter.py
    subversion/branches/authzperf/win-tests.py

Propchange: subversion/branches/authzperf/
------------------------------------------------------------------------------
--- svn:auto-props (added)
+++ svn:auto-props Sat Jan  3 14:00:41 2015
@@ -0,0 +1,10 @@
+*.c = svn:eol-style=native
+*.cpp = svn:eol-style=native
+*.h = svn:eol-style=native
+*.hpp = svn:eol-style=native
+*.py = svn:eol-style=native
+*.pl = svn:eol-style=native
+*.rb = svn:eol-style=native
+*.txt = svn:eol-style=native
+README = svn:eol-style=native
+BRANCH-README = svn:eol-style=native

Propchange: subversion/branches/authzperf/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Jan  3 14:00:41 2015
@@ -19,6 +19,7 @@
 /subversion/branches/fsfs-lock-many:1571740-1577217
 /subversion/branches/fsfs-pack:873717-874575
 /subversion/branches/fsx:1507845-1509914
+/subversion/branches/fsx-id:1645603-1649011
 /subversion/branches/gnome-keyring:870558-871410
 /subversion/branches/gpg-agent-password-store:1005036-1150766
 /subversion/branches/gtest_addition:1452117-1502138
@@ -62,6 +63,7 @@
 /subversion/branches/reintegrate-improvements:873853-874164
 /subversion/branches/remote-only-status:1581845-1586090
 /subversion/branches/revprop-cache:1298521-1326293
+/subversion/branches/revprop-caching-ng:1620597,1620599
 /subversion/branches/revprop-packing:1143907,1143971,1143997,1144017,1144499,1144568,1146145
 /subversion/branches/subtree-mergeinfo:876734-878766
 /subversion/branches/svn-mergeinfo-enhancements:870119-870195,870197-870288
@@ -82,4 +84,4 @@
 /subversion/branches/verify-at-commit:1462039-1462408
 /subversion/branches/verify-keep-going:1439280-1546110
 /subversion/branches/wc-collate-path:1402685-1480384
-/subversion/trunk:1613053-1621376
+/subversion/trunk:1613053-1649188

Modified: subversion/branches/authzperf/CHANGES
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/CHANGES?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/CHANGES (original)
+++ subversion/branches/authzperf/CHANGES Sat Jan  3 14:00:41 2015
@@ -425,6 +425,52 @@ http://svn.apache.org/repos/asf/subversi
     * javahl: support incomplete reads from streams (r1569631)
     * javahl: allow revert API to take a set of paths (r1571461)
 
+
+Version 1.8.11
+(15 Dec 2014, from /branches/1.8.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.8.10
+
+ User-visible changes:
+  - Client-side bugfixes:
+    * checkout/update: fix file externals failing to follow history and
+      subsequently silently failing (issue #4185)
+    * patch: don't skip targets in valid --git difs (r1592014, r1592034)
+    * diff: make property output in diffs stable (r1589360)
+    * diff: fix diff of local copied directory with props (r1619380, r1619393)
+    * diff: fix changelist filter for repos-WC and WC-WC (r1621978, r1621981)
+    * remove broken conflict resolver menu options that always error out
+      (r1620332)
+    * improve gpg-agent support (r1600331, r1600348, 1600368, r1600563,
+      r1600781)
+    * fix crash in eclipse IDE with GNOME Keyring (issue #3498)
+    * fix externals shadowing a versioned directory (issue #4085)
+    * fix problems working on unix file systems that don't support
+      permissions (r1612225)
+    * upgrade: keep external registrations (issue #4519)
+    * cleanup: iprove performance of recorded timestamp fixups (r1633126)
+    * translation updates for German
+
+  - Server-side bugfixes:
+    * disable revprop caching feature due to cache invalidation problems
+      (r1543594, r1619774, r1619105, r1619118, r1619153, r1619802)
+    * skip generating uniquifiers if rep-sharing is not supported (r1561426)
+    * mod_dav_svn: reject requests with missing repository paths (r1643409)
+    * mod_dav_svn: reject requests with invalid virtual transaction names
+      (r1643437)
+    * mod_dav_svn: avoid unneeded memory growth in resource walking
+      (issue #4531)
+
+ Developer-visible changes:
+  - General:
+    * make sure all members of the repos layer notify struct are valid,
+      fixes crashes in API users using all members (r1616131)
+    * properly generate a version resource when building on Windows (r1542610,
+      r1564576, r1568180)
+    * fix LIBTOOL_M4 and LIBTOOL_CONFIG variable not be evaluated properly
+      during a unix build (r1637826)
+    * allow the use of libtool 2.4.3 (r1640862, r1640873, r1643793)
+
+
 Version 1.8.10
 (11 Aug 2014, from /branches/1.8.x)
 http://svn.apache.org/repos/asf/subversion/tags/1.8.10
@@ -1156,6 +1202,39 @@ http://svn.apache.org/repos/asf/subversi
     * fix some reference counting bugs in swig-py bindings (r1464899, r1466524)
 
 
+Version 1.7.19
+(15 Dec 2014, from /branches/1.7.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.7.19
+
+ User-visible changes:
+  - Client-side bugfixes:
+    * rm: display the proper URL in commit log editor (r1591123)
+    * diff: fix invalid read during suffix scanning (issue #4339)
+    * fix crash in eclipse IDE with GNOME Keyring (issue #3498)
+    * checkout/update: fix file externals failing to follow history and
+      subsequently silently failing (issue #4185)
+
+  - Server-side bugfixes:
+    * svnadmin dump: don't let invalid mergeinfo prevent a dump (issue #4476)
+    * mod_dav_svn: reject requests with missing repository paths (r1643409)
+    * mod_dav_svn: reject requests with invalid virtual transaction names
+      (r1643437)
+    * mod_dav_svn: avoid unneeded memory growth in resource walking
+      (issue #4531)
+
+ Developer-visible changes:
+  - General:
+    * properly generate a version resource when building on Windows (r1542610,
+      r1564576, r1568180)
+    * fix a problem with the unix build that could result in linking to the
+      wrong Subversion libraries at build or at run time (r1594157)
+    * use a proper intermediate directory when building with Visual Studio
+      2003-2008 (r1595431)
+    * fix LIBTOOL_M4 and LIBTOOL_CONFIG variable not be evaluated properly
+      during a unix build (r1637826)
+    * allow the use of libtool 2.4.3 (r1640862, r1640873, r1643793)
+
+
 Version 1.7.18
 (11 Aug 2014, from /branches/1.7.x)
 http://svn.apache.org/repos/asf/subversion/tags/1.7.18

Modified: subversion/branches/authzperf/COMMITTERS
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/COMMITTERS?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/COMMITTERS [UTF-8] (original)
+++ subversion/branches/authzperf/COMMITTERS [UTF-8] Sat Jan  3 14:00:41 2015
@@ -98,6 +98,8 @@ Commit access for specific areas:
           sage   Sage LaTorra <sa...@gmail.com>             (Ctypes-Python b.)
           vmpn   Vladimir Berezniker <vm...@hitechman.com>    (JavaHL bindings)
        rschupp   Roderich Schupp <ro...@gmail.com> (Swig bindings)
+        stilor   Alexey Neyman <st...@att.net>              (Python bindings,
+                                                             svn-vendor.py)
 
   Packages:
 

Modified: subversion/branches/authzperf/Makefile.in
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/Makefile.in?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/Makefile.in (original)
+++ subversion/branches/authzperf/Makefile.in Sat Jan  3 14:00:41 2015
@@ -370,6 +370,7 @@ INSTALL_EXTRA_SWIG_RB=\
   done
 
 APXS = @APXS@
+HTTPD_VERSION = @HTTPD_VERSION@
 
 PYTHON = @PYTHON@
 PERL = @PERL@
@@ -534,6 +535,9 @@ check: bin @TRANSFORM_LIBTOOL_SCRIPTS@ $
 	  if test "$(HTTP_LIBRARY)" != ""; then                              \
 	    flags="--http-library $(HTTP_LIBRARY) $$flags";                  \
 	  fi;                                                                \
+	  if test "$(HTTPD_VERSION)" != ""; then                             \
+	     flags="--httpd-version $(HTTPD_VERSION) $$flags";               \
+	  fi;                                                                \
 	  if test "$(SERVER_MINOR_VERSION)" != ""; then                      \
 	    flags="--server-minor-version $(SERVER_MINOR_VERSION) $$flags";  \
 	  fi;                                                                \

Modified: subversion/branches/authzperf/autogen.sh
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/autogen.sh?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/autogen.sh (original)
+++ subversion/branches/authzperf/autogen.sh Sat Jan  3 14:00:41 2015
@@ -23,6 +23,10 @@
 ### Run this to produce everything needed for configuration. ###
 
 
+# Some shells can produce output when running 'cd' which interferes
+# with the construct 'abs=`cd dir && pwd`'.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
 # Run tests to ensure that our build requirements are met
 RELEASE_MODE=""
 RELEASE_ARGS=""
@@ -59,7 +63,8 @@ done
 # ### APR's libtool. deferring to a second round of change...
 #
 
-libtoolize="`./build/PrintPath glibtoolize libtoolize libtoolize15`"
+# Much like APR except we do not prefer libtool 1 over libtool 2.
+libtoolize="`./build/PrintPath glibtoolize libtoolize glibtoolize1 libtoolize15 libtoolize14`"
 lt_major_version=`$libtoolize --version 2>/dev/null | sed -e 's/^[^0-9]*//' -e 's/\..*//' -e '/^$/d' -e 1q`
 
 if [ "x$libtoolize" = "x" ]; then
@@ -71,48 +76,80 @@ rm -f build/config.guess build/config.su
 $libtoolize --copy --automake --force
 
 ltpath="`dirname $libtoolize`"
-ltfile=${LIBTOOL_M4-`cd $ltpath/../share/aclocal ; pwd`/libtool.m4}
 
-if [ ! -f $ltfile ]; then
-    echo "$ltfile not found (try setting the LIBTOOL_M4 environment variable)"
+if [ "x$LIBTOOL_M4" = "x" ]; then
+    ltm4_error='(try setting the LIBTOOL_M4 environment variable)'
+    if [ -d "$ltpath/../share/aclocal/." ]; then
+        ltm4=`cd "$ltpath/../share/aclocal" && pwd`
+    else
+        echo "Libtool helper path not found $ltm4_error"
+        echo "  expected at: '$ltpath/../share/aclocal'"
+        exit 1
+    fi
+else
+    ltm4_error="(the LIBTOOL_M4 environment variable is: $LIBTOOL_M4)"
+    ltm4="$LIBTOOL_M4"
+fi
+
+ltfile="$ltm4/libtool.m4"
+if [ ! -f "$ltfile" ]; then
+    echo "$ltfile not found $ltm4_error"
     exit 1
 fi
 
-echo "Copying libtool helper: $ltfile"
+echo "Copying libtool helper:  $ltfile"
 # An ancient helper might already be present from previous builds,
 # and it might be write-protected (e.g. mode 444, seen on FreeBSD).
 # This would cause cp to fail and print an error message, but leave
 # behind a potentially outdated libtool helper.  So, remove before
 # copying:
 rm -f build/libtool.m4
-cp $ltfile build/libtool.m4
+cp "$ltfile" build/libtool.m4
 
 for file in ltoptions.m4 ltsugar.m4 ltversion.m4 lt~obsolete.m4; do
     rm -f build/$file
 
     if [ $lt_major_version -ge 2 ]; then
-        ltfile=${LIBTOOL_M4-`cd $ltpath/../share/aclocal ; pwd`/$file}
+        ltfile="$ltm4/$file"
 
-        if [ ! -f $ltfile ]; then
-            echo "$ltfile not found (try setting the LIBTOOL_M4 environment variable)"
+        if [ ! -f "$ltfile" ]; then
+            echo "$ltfile not found $ltm4_error"
             exit 1
         fi
 
-        echo "Copying libtool helper: $ltfile"
-        cp $ltfile build/$file
+        echo "Copying libtool helper:  $ltfile"
+        cp "$ltfile" "build/$file"
     fi
 done
 
 if [ $lt_major_version -ge 2 ]; then
+    if [ "x$LIBTOOL_CONFIG" = "x" ]; then
+        ltconfig_error='(try setting the LIBTOOL_CONFIG environment variable)'
+        if [ -d "$ltpath/../share/libtool/config/." ]; then
+            ltconfig=`cd "$ltpath/../share/libtool/config" && pwd`
+        elif [ -d "$ltpath/../share/libtool/build-aux/." ]; then
+            ltconfig=`cd "$ltpath/../share/libtool/build-aux" && pwd`
+        else
+            echo "Autoconf helper path not found $ltconfig_error"
+            echo "  expected at: '$ltpath/../share/libtool/config'"
+            echo "           or: '$ltpath/../share/libtool/build-aux'"
+            exit 1
+        fi
+    else
+        ltconfig_error="(the LIBTOOL_CONFIG environment variable is: $LIBTOOL_CONFIG)"
+        ltconfig="$LIBTOOL_CONFIG"
+    fi
+
     for file in config.guess config.sub; do
-        configfile=${LIBTOOL_CONFIG-`cd $ltpath/../share/libtool/config ; pwd`/$file}
+        configfile="$ltconfig/$file"
 
-        if [ ! -f $configfile ]; then
-            echo "$configfile not found (try setting the LIBTOOL_CONFIG environment variable)"
+        if [ ! -f "$configfile" ]; then
+            echo "$configfile not found $ltconfig_error"
             exit 1
         fi
 
-	cp $configfile build/$file
+        echo "Copying autoconf helper: $configfile"
+	cp "$configfile" build/$file
     done
 fi
 

Modified: subversion/branches/authzperf/build.conf
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/build.conf?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/build.conf (original)
+++ subversion/branches/authzperf/build.conf Sat Jan  3 14:00:41 2015
@@ -382,7 +382,7 @@ msvc-export =
         private\svn_temp_serializer.h private\svn_io_private.h
         private\svn_sorts_private.h
         private\svn_string_private.h private\svn_magic.h
-        private\svn_subr_private.h private\svn_mutex.h private\svn_named_atomic.h
+        private\svn_subr_private.h private\svn_mutex.h
         private\svn_packed_data.h private\svn_object_pool.h private\svn_cert.h
 
 # Working copy management lib
@@ -810,6 +810,24 @@ install = test
 libs = libsvn_test libsvn_fs libsvn_fs_fs libsvn_delta
        libsvn_subr apriconv apr
 
+[fs-fs-fuzzy-test]
+description = Use fuzzying to test FSFS corruption resilience
+type = exe
+path = subversion/tests/libsvn_fs_fs
+sources = fs-fs-fuzzy-test.c
+install = sub-test
+libs = libsvn_test libsvn_fs libsvn_fs_fs libsvn_delta
+       libsvn_repos libsvn_subr apriconv apr
+
+[fs-fs-private-test]
+description = Test FSSF private API
+type = exe
+path = subversion/tests/libsvn_fs_fs
+sources = fs-fs-private-test.c
+install = test
+libs = libsvn_test libsvn_fs libsvn_fs_fs libsvn_delta
+       libsvn_repos libsvn_subr apriconv apr
+
 # ----------------------------------------------------------------------------
 # Tests for libsvn_fs_x
 [fs-x-pack-test]
@@ -994,22 +1012,6 @@ sources = mergeinfo-test.c
 install = test
 libs = libsvn_test libsvn_subr apr
 
-[named_atomic-test]
-description = Test named atomics
-type = exe
-path = subversion/tests/libsvn_subr
-sources = named_atomic-test.c
-install = test
-libs = libsvn_test libsvn_subr apr
-
-[named_atomic-proc-test]
-description = Sub-process for named atomics
-type = exe
-path = subversion/tests/libsvn_subr
-sources = named_atomic-test-proc.c
-install = sub-test
-libs = libsvn_subr apr
-
 [packed-data-test]
 description = Test path library
 type = exe
@@ -1472,8 +1474,8 @@ libs = svn svnadmin svndumpfilter svnloo
 type = project
 path = build/win32
 libs = __ALL__
-       fs-test fs-base-test fs-fsfs-test fs-fs-pack-test fs-x-pack-test
-       string-table-test
+       fs-test fs-base-test fs-fsfs-test fs-fs-pack-test fs-fs-fuzzy-test
+       fs-fs-private-test fs-x-pack-test string-table-test
        skel-test strings-reps-test changes-test locks-test
        repos-test dump-load-test
        checksum-test compat-test config-test hashdump-test mergeinfo-test
@@ -1481,7 +1483,7 @@ libs = __ALL__
        priority-queue-test root-pools-test stream-test
        string-test time-test utf-test bit-array-test
        error-test error-code-test cache-test spillbuf-test crypto-test
-       named_atomic-test named_atomic-proc-test revision-test
+       revision-test
        subst_translate-test io-test
        translate-test
        random-test window-test

Modified: subversion/branches/authzperf/build/ac-macros/apache.m4
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/build/ac-macros/apache.m4?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/build/ac-macros/apache.m4 (original)
+++ subversion/branches/authzperf/build/ac-macros/apache.m4 Sat Jan  3 14:00:41 2015
@@ -162,6 +162,11 @@ if test -n "$APXS" && test "$APXS" != "n
     BUILD_APACHE_RULE=apache-mod
     INSTALL_APACHE_RULE=install-mods-shared
     INSTALL_APACHE_MODS=true
+    HTTPD="`$APXS -q sbindir`/`$APXS -q PROGNAME`"
+    if ! test -e $HTTPD ; then
+      HTTPD="`$APXS -q bindir`/`$APXS -q PROGNAME`"
+    fi
+    HTTPD_VERSION=["`$HTTPD -v | $SED -e 's@^.*/\([0-9.]*\)\(.*$\)@\1@ ; 1q'`"]
 
     case $host in
       *-*-cygwin*)
@@ -180,6 +185,7 @@ AC_SUBST(APACHE_LDFLAGS)
 AC_SUBST(APACHE_INCLUDES)
 AC_SUBST(APACHE_LIBEXECDIR)
 AC_SUBST(INSTALL_APACHE_MODS)
+AC_SUBST(HTTPD_VERSION)
 
 # there aren't any flags that interest us ...
 #if test -n "$APXS" && test "$APXS" != "no"; then

Modified: subversion/branches/authzperf/build/buildcheck.sh
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/build/buildcheck.sh?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/build/buildcheck.sh (original)
+++ subversion/branches/authzperf/build/buildcheck.sh Sat Jan  3 14:00:41 2015
@@ -97,14 +97,15 @@ else
   esac
 fi
 
-libtool=${LIBTOOL:-`./build/PrintPath glibtool libtool libtool15`}
+# Much like APR except we do not prefer libtool 1 over libtool 2.
+libtoolize=${LIBTOOLIZE:-`./build/PrintPath glibtoolize libtoolize glibtoolize1 libtoolize15 libtoolize14`}
 # Extract the libtool version number: everything from the first number in
 # the version text until a hyphen or space.
-lt_pversion=`$libtool --version 2>/dev/null |
+lt_pversion=`$libtoolize --version 2>/dev/null |
   sed -e 's/^[^0-9]*//' -e 's/[- ].*//' -e '/^$/d' |
   sed -e 1q`
 if test -z "$lt_pversion"; then
-  echo "buildcheck: libtool not found."
+  echo "buildcheck: libtoolize not found."
   echo "            You need libtool version $LIBTOOL_WANTED_VERSION or newer installed"
   exit 1
 fi

Modified: subversion/branches/authzperf/build/run_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/build/run_tests.py?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/build/run_tests.py (original)
+++ subversion/branches/authzperf/build/run_tests.py Sat Jan  3 14:00:41 2015
@@ -29,6 +29,7 @@
             [--fs-type=<fs-type>] [--fsfs-packing] [--fsfs-sharding=<n>]
             [--list] [--milestone-filter=<regex>] [--mode-filter=<type>]
             [--server-minor-version=<version>] [--http-proxy=<host>:<port>]
+            [--httpd-version=<version>]
             [--config-file=<file>] [--ssl-cert=<file>]
             [--exclusive-wc-locks] [--memcached-server=<url:port>]
             <abs_srcdir> <abs_builddir>
@@ -127,7 +128,8 @@ class TestHarness:
                list_tests=None, svn_bin=None, mode_filter=None,
                milestone_filter=None, set_log_level=None, ssl_cert=None,
                http_proxy=None, http_proxy_username=None,
-               http_proxy_password=None, exclusive_wc_locks=None,
+               http_proxy_password=None, httpd_version=None,
+               exclusive_wc_locks=None,
                memcached_server=None, skip_c_tests=None):
     '''Construct a TestHarness instance.
 
@@ -185,6 +187,7 @@ class TestHarness:
     self.http_proxy = http_proxy
     self.http_proxy_username = http_proxy_username
     self.http_proxy_password = http_proxy_password
+    self.httpd_version = httpd_version
     self.exclusive_wc_locks = exclusive_wc_locks
     self.memcached_server = memcached_server
     if not sys.stdout.isatty() or sys.platform == 'win32':
@@ -527,6 +530,8 @@ class TestHarness:
           svntest.main.options.http_proxy_username = self.http_proxy_username
     if self.http_proxy_password is not None:
         svntest.main.options.http_proxy_password = self.http_proxy_password
+    if self.httpd_version is not None:
+        svntest.main.options.httpd_version = self.httpd_version
     if self.exclusive_wc_locks is not None:
       svntest.main.options.exclusive_wc_locks = self.exclusive_wc_locks
     if self.memcached_server is not None:
@@ -700,7 +705,8 @@ def main():
                             'log-to-stdout', 'list', 'milestone-filter=',
                             'mode-filter=', 'set-log-level=', 'ssl-cert=',
                             'http-proxy=', 'http-proxy-username=',
-                            'http-proxy-password=','exclusive-wc-locks',
+                            'http-proxy-password=', 'httpd-version=',
+                            'exclusive-wc-locks',
                             'memcached-server='])
   except getopt.GetoptError:
     args = []
@@ -713,11 +719,11 @@ def main():
     http_library, server_minor_version, fsfs_sharding, fsfs_packing, \
     parallel, config_file, log_to_stdout, list_tests, mode_filter, \
     milestone_filter, set_log_level, ssl_cert, http_proxy, \
-    http_proxy_username, http_proxy_password, exclusive_wc_locks, \
-    memcached_server = \
+    http_proxy_username, http_proxy_password, httpd_version, \
+    exclusive_wc_locks, memcached_server = \
             None, None, None, None, None, None, None, None, None, None, \
             None, None, None, None, None, None, None, None, None, None, \
-            None, None, None
+            None, None, None, None,
   for opt, val in opts:
     if opt in ['-u', '--url']:
       base_url = val
@@ -761,6 +767,8 @@ def main():
       http_proxy_username = val
     elif opt in ['--http-proxy-password']:
       http_proxy_password = val
+    elif opt in ['--httpd-version']:
+      httpd_version = val
     elif opt in ['--exclusive-wc-locks']:
       exclusive_wc_locks = 1
     elif opt in ['--memcached-server']:
@@ -784,6 +792,7 @@ def main():
                    http_proxy=http_proxy,
                    http_proxy_username=http_proxy_username,
                    http_proxy_password=http_proxy_password,
+                   httpd_version=httpd_version,
                    exclusive_wc_locks=exclusive_wc_locks,
                    memcached_server=memcached_server,
                    skip_c_tests=skip_c_tests)

Modified: subversion/branches/authzperf/configure.ac
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/configure.ac?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/configure.ac (original)
+++ subversion/branches/authzperf/configure.ac Sat Jan  3 14:00:41 2015
@@ -319,18 +319,6 @@ case $host in
 esac
 AC_SUBST(LT_NO_UNDEFINED)
 
-AC_MSG_CHECKING([whether to avoid circular linkage at all costs])
-case $host in
-  *-*-cygwin*)
-    AC_MSG_RESULT([yes])
-    AC_DEFINE([SVN_AVOID_CIRCULAR_LINKAGE_AT_ALL_COSTS_HACK], 1,
-              [Define if circular linkage is not possible on this platform.])
-    ;;
-  *)
-    AC_MSG_RESULT([no])
-    ;;
-esac
-
 dnl Check for trang.
 trang=yes
 AC_ARG_WITH(trang,

Modified: subversion/branches/authzperf/get-deps.sh
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/get-deps.sh?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/get-deps.sh (original)
+++ subversion/branches/authzperf/get-deps.sh Sat Jan  3 14:00:41 2015
@@ -33,7 +33,7 @@
 
 APR_VERSION=${APR_VERSION:-"1.4.6"}
 APU_VERSION=${APU_VERSION:-"1.5.1"}
-SERF_VERSION=${SERF_VERSION:-"1.3.4"}
+SERF_VERSION=${SERF_VERSION:-"1.3.8"}
 ZLIB_VERSION=${ZLIB_VERSION:-"1.2.8"}
 SQLITE_VERSION=${SQLITE_VERSION:-"3.7.15.1"}
 GMOCK_VERSION=${GMOCK_VERSION:-"1.6.0"}

Propchange: subversion/branches/authzperf/notes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Jan  3 14:00:41 2015
@@ -36,4 +36,4 @@
 /subversion/branches/tc_url_rev/notes:874351-874483
 /subversion/branches/tree-conflicts/notes:868291-873154
 /subversion/branches/tree-conflicts-notify/notes:873926-874008
-/subversion/trunk/notes:1613053-1621376
+/subversion/trunk/notes:1613053-1649188

Modified: subversion/branches/authzperf/notes/dump-load-format.txt
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/notes/dump-load-format.txt?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/notes/dump-load-format.txt (original)
+++ subversion/branches/authzperf/notes/dump-load-format.txt Sat Jan  3 14:00:41 2015
@@ -55,7 +55,7 @@ SVN-fs-dump-format-version: <N>\n
 -------------------------------------------------------------------
 
 where <N> is replaced by the dump format version. Except where 
-specified, the descriptions in this document aapply to all
+specified, the descriptions in this document apply to all
 versions of the format.
 
 Versions 2 and later may have a UUID record following the version
@@ -168,7 +168,7 @@ this document.
 
 The Text-content-{md5,sha1} and Text-copy-source-{md5,sha1} lines are
 hash integrity checks and will be present only if Text-content-length
-and the copfyrom pair (respectively) are also present. A decoder may
+and the copyfrom pair (respectively) are also present. A decoder may
 use them to verify that the source content they refer to has not been
 corrupted.
 
@@ -449,7 +449,7 @@ Notice that this file has no properties.
 Version 3 format is a delta dump; text changes are represented 
 as diffs against the original file, and properties as incremental
 changes to a persistent set (that is, a property section does not
-necessarily implcitly clear the property set on a path before the
+necessarily implicitly clear the property set on a path before the
 new property settings are evaluated).
 
 This change is a space optimization. It requires additional 

Modified: subversion/branches/authzperf/notes/knobs
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/notes/knobs?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/notes/knobs (original)
+++ subversion/branches/authzperf/notes/knobs Sat Jan  3 14:00:41 2015
@@ -55,6 +55,7 @@ SVN_SQLITE_MIN_VERSION_NUMBER
 SVN_SQLITE_MIN_VERSION
 SVN_SERF_NO_LOGGING
 SVN_ALLOW_SHORT_INTS
+SVN_ALLOW_NON_8_BIT_CHARS
 
 2.3 Debugging Support
 
@@ -289,6 +290,18 @@ SVN_I_LIKE_LATENCY_SO_IGNORE_HTTPV2
   Range:     definedness
   Default:   not defined
   Suggested: not defined (to ensure correct behaviour)
+
+4.12 SVN_ALLOW_NON_8_BIT_CHARS
+
+  Scope:     global
+  Purpose:   Disables the size check for the 'char' type.  We assume char
+             has exactly 8 bits.  Other values may break the code reading,
+             interpreting and writing repository files.  Defining this option
+             will allow SVN to be compiled even if the size check would fail
+             for some reason.
+  Range:     definedness
+  Default:   not defined
+  Suggested: not defined (to ensure correct behaviour)
 
 
 5 Defines controlling debug support

Propchange: subversion/branches/authzperf/subversion/bindings/ctypes-python/README
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: subversion/branches/authzperf/subversion/bindings/cxxhl/README
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: subversion/branches/authzperf/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java (original)
+++ subversion/branches/authzperf/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java Sat Jan  3 14:00:41 2015
@@ -701,6 +701,47 @@ public class BasicTests extends SVNTests
     }
 
     /**
+     * Test SVNClient.status on externals.
+     * @throws Throwable
+     */
+    public void testExternalStatus() throws Throwable
+    {
+        // build the test setup
+        OneTest thisTest = new OneTest();
+
+
+        // Add an externals reference to the working copy.
+        client.propertySetLocal(thisTest.getWCPathSet(), "svn:externals",
+                                "^/A/D/H ADHext".getBytes(),
+                                Depth.empty, null, false);
+
+        // Update the working copy to bring in the external subtree.
+        client.update(thisTest.getWCPathSet(), Revision.HEAD,
+                      Depth.unknown, false, false, false, false);
+
+        // Test status of an external file
+        File psi = new File(thisTest.getWorkingCopy() + "/ADHext", "psi");
+
+        MyStatusCallback statusCallback = new MyStatusCallback();
+        client.status(fileToSVNPath(psi, false), Depth.unknown,
+                      false, true, true, false, false, false,
+                      null, statusCallback);
+
+        final int statusCount = statusCallback.getStatusArray().length;
+        if (statusCount == 1)
+        {
+            Status st = statusCallback.getStatusArray()[0];
+            assertFalse(st.isConflicted());
+            assertEquals(Status.Kind.normal, st.getNodeStatus());
+            assertEquals(NodeKind.file, st.getNodeKind());
+        }
+        else if (statusCount > 1)
+            fail("File psi should not return more than one status.");
+        else
+            fail("File psi should return exactly one status.");
+    }
+
+    /**
      * Test the basic SVNClient.checkout functionality.
      * @throws Throwable
      */

Modified: subversion/branches/authzperf/subversion/bindings/swig/include/svn_types.swg
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/bindings/swig/include/svn_types.swg?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/bindings/swig/include/svn_types.swg (original)
+++ subversion/branches/authzperf/subversion/bindings/swig/include/svn_types.swg Sat Jan  3 14:00:41 2015
@@ -146,7 +146,8 @@
   /* svn_repos */
   svn_authz_t **,
   svn_repos_t **,
-  const svn_repos_parse_fns2_t **,
+  const svn_repos_parse_fns3_t **,
+  const svn_repos_parser_fns2_t **,
   const svn_repos_parser_fns_t **,
   void **parse_baton,
   void **revision_baton,
@@ -806,20 +807,12 @@ svn_ ## TYPE ## _swig_rb_closed(VALUE se
    Callback: svn_cancel_func_t
 */
 
-#ifdef SWIGPYTHON
-%typemap(in) (svn_cancel_func_t cancel_func, void *cancel_baton) {
-  $1 = svn_swig_py_cancel_func;
-  $2 = $input; /* our function is the baton. */
-}
-#endif
+%callback_typemap(svn_cancel_func_t cancel_func, void *cancel_baton,
+                  svn_swig_py_cancel_func,
+                  svn_swig_pl_cancel_func,
+                  svn_swig_rb_cancel_func)
 
 #ifdef SWIGRUBY
-%typemap(in) (svn_cancel_func_t cancel_func, void *cancel_baton)
-{
-  $1 = svn_swig_rb_cancel_func;
-  $2 = (void *)svn_swig_rb_make_baton($input, _global_svn_swig_rb_pool);
-}
-
 %typemap(argout) (svn_cancel_func_t cancel_func, void *cancel_baton)
 {
   svn_swig_rb_set_baton($result, (VALUE)$2);

Modified: subversion/branches/authzperf/subversion/bindings/swig/perl/native/Client.pm
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/bindings/swig/perl/native/Client.pm?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/bindings/swig/perl/native/Client.pm (original)
+++ subversion/branches/authzperf/subversion/bindings/swig/perl/native/Client.pm Sat Jan  3 14:00:41 2015
@@ -55,8 +55,7 @@ SVN::Client - Subversion client function
                                            0,           #no_auth_cache
                                            0,           #trust_server_cert
                                            $config_category,
-                                           undef,       #cancel_func
-                                           undef)       #cancel_baton
+                                           undef)       #cancel_callback
     );
 
     # Use first argument as target and canonicalize it before using
@@ -1286,24 +1285,8 @@ sub log_msg {
 =item $client-E<gt>cancel(\&cancel)
 
 Sets the cancellation callback for the client context to a code reference that you
-pass.  It always returns the current codereference set.
-
-The subroutine pointed to by this value will be called to see if the operation
-should be canceled.  If the operation should be canceled, the function may
-return one of the following values:
-
-An svn_error_t object made with SVN::Error::create.
-
-Any true value, in which case the bindings will generate an svn_error_t object
-for you with the error code of SVN_ERR_CANCELLED and the string set to "By
-cancel callback".
-
-A string, in which case the bindings will generate an svn_error_t object for you
-with the error code of SVN_ERR_CANCELLED and the string set to the string you
-returned.
-
-Any other value will be interpreted as wanting to continue the operation.
-Generally, it's best to return 0 to continue the operation.
+pass. See L<"CANCELLATION CALLBACK"> below for details.
+It always returns the current codereference set.
 
 =cut
 
@@ -1489,6 +1472,25 @@ may_save.
 
 =back
 
+=head1 CANCELLATION CALLBACK
+
+This callback will be called periodically to see if the operation
+should be canceled.  If the operation should be canceled, the function may
+return one of the following values:
+
+An svn_error_t object made with SVN::Error::create.
+
+Any true value, in which case the bindings will generate an svn_error_t object
+for you with the error code of SVN_ERR_CANCELLED and the string set to "By
+cancel callback".
+
+A string, in which case the bindings will generate an svn_error_t object for you
+with the error code of SVN_ERR_CANCELLED and the string set to the string you
+returned.
+
+Any other value will be interpreted as wanting to continue the operation.
+Generally, it's best to return 0 to continue the operation.
+
 =head1 OBJECTS
 
 These are some of the object types that are returned from the methods

Modified: subversion/branches/authzperf/subversion/bindings/swig/perl/native/Repos.pm
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/bindings/swig/perl/native/Repos.pm?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/bindings/swig/perl/native/Repos.pm (original)
+++ subversion/branches/authzperf/subversion/bindings/swig/perl/native/Repos.pm Sat Jan  3 14:00:41 2015
@@ -42,9 +42,9 @@ object.
 
 =over
 
-=item $repos-E<gt>dump_fs($dump_fh, $feedback_fh, $start_rev, $end_rev, $incremental, $cancel_func, $cancel_baton)
+=item $repos-E<gt>dump_fs($dump_fh, $feedback_fh, $start_rev, $end_rev, $incremental, $cancel_callback)
 
-=item $repos-E<gt>dump_fs2($dump_fh, $feedback_fh, $start_rev, $end_rev, $incremental, $deltify, $cancel_func, $cancel_baton)
+=item $repos-E<gt>dump_fs2($dump_fh, $feedback_fh, $start_rev, $end_rev, $incremental, $deltify, $cancel_callback)
 
 Create a dump file of the repository from revision C<$start_rev> to C<$end_rev>
 , store it into the filehandle C<$dump_fh>, and write feedback on the progress
@@ -61,10 +61,9 @@ this flag is set, the first revision of
 be done with full plain text.  A dump with @a use_deltas set cannot
 be loaded by Subversion 1.0.x.
 
-According to svn_repos.h, the C<$cancel_func> is a function that is called
-periodically and given C<$cancel_baton> as a parameter to determine whether
-the client wishes to cancel the dump.  You must supply C<undef> at the very
-least.
+If C<$cancel_callback> is not C<undef>, it must be a code reference
+that is called periodically to determine whether the client wishes 
+to cancel the dump.  See L<SVN::Client/"CANCELLATION CALLBACK"> for details.
 
 Example:
 
@@ -83,13 +82,13 @@ Example:
     $repos->dump_fs2($fh, \*STDOUT,          # Dump file => $fh, Feedback => STDOUT
                      $start_rev, $end_rev,   # Revision Range
                      $incremental, $deltify, # Options
-                     undef, undef);          # Cancel Function
+                     undef);                 # Cancel Callback
 
     close $fh;
 
-=item $repos-E<gt>load_fs($dumpfile_fh, $feedback_fh, $uuid_action, $parent_dir, $cancel_func, $cancel_baton);
+=item $repos-E<gt>load_fs($dumpfile_fh, $feedback_fh, $uuid_action, $parent_dir, $cancel_callback);
 
-=item $repos-E<gt>load_fs2($dumpfile_fh, $feedback_fh, $uuid_action, $parent_dir, $use_pre_commit_hook, $use_post_commit_hook, $cancel_func, $cancel_baton);
+=item $repos-E<gt>load_fs2($dumpfile_fh, $feedback_fh, $uuid_action, $parent_dir, $use_pre_commit_hook, $use_post_commit_hook, $cancel_callback);
 
 Loads a dumpfile specified by the C<$dumpfile_fh> filehandle into the repository.
 If the dumpstream contains copy history that is unavailable in the repository,
@@ -113,11 +112,11 @@ hook before committing each loaded revis
 If C<$use_post_commit_hook> is set, call the repository's
 post-commit hook after committing each loaded revision.
 
-If C<$cancel_func> is not NULL, it is called periodically with
-C<$cancel_baton> as argument to see if the client wishes to cancel
-the load.
+If C<$cancel_callback> is not C<undef>, it must be a code reference 
+that is called periodically to determine whether the client wishes
+to cancel the load.  See L<SVN::Client/"CANCELLATION CALLBACK"> for details.
 
-You must at least provide undef for these parameters for the method call
+You must at least provide C<undef> for these parameters for the method call
 to work.
 
 Example:

Modified: subversion/branches/authzperf/subversion/bindings/swig/perl/native/t/1repos.t
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/bindings/swig/perl/native/t/1repos.t?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/bindings/swig/perl/native/t/1repos.t (original)
+++ subversion/branches/authzperf/subversion/bindings/swig/perl/native/t/1repos.t Sat Jan  3 14:00:41 2015
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl
 #
 #
 # Licensed to the Apache Software Foundation (ASF) under one
@@ -20,16 +20,21 @@
 #
 #
 
-use Test::More tests => 6;
+use strict;
+use warnings;
+
+use Test::More tests => 8;
 use File::Temp qw(tempdir);
 use File::Path qw(rmtree);
-use strict;
+use File::Spec;
+use POSIX qw(locale_h);
+
+use SVN::Core;
+use SVN::Repos;
+use SVN::Fs;
+use SVN::Delta;
 
-require SVN::Core;
-require SVN::Repos;
-require SVN::Fs;
-require SVN::Delta;
-use File::Path;
+setlocale(LC_ALL, "C");
 
 my $repospath = tempdir('svn-perl-test-XXXXXX', TMPDIR => 1, CLEANUP => 1);
 
@@ -107,6 +112,26 @@ ok($main::something_destroyed, 'callback
 # TEST
 cmp_ok($fs->youngest_rev, '==', 3);
 
+open my $dump_fh, ">", File::Spec->devnull or die "open file sink: $!";
+
+my $feedback;
+open my $feedback_fh, ">", \$feedback or die "open string: $!";
+
+my $cancel_cb_called = 0;
+$repos->dump_fs2($dump_fh, $feedback_fh,
+                 0, $SVN::Core::INVALID_REVNUM,     # start_rev, end_rev
+                 0, 0,                              # incremental, deltify
+                 sub { $cancel_cb_called++; 0 });
+# TEST
+ok($cancel_cb_called, 'cancel callback was called');
+# TEST
+is($feedback, <<'...', 'dump feedback');
+* Dumped revision 0.
+* Dumped revision 1.
+* Dumped revision 2.
+* Dumped revision 3.
+...
+
 END {
 diag "cleanup";
 rmtree($repospath);

Modified: subversion/branches/authzperf/subversion/bindings/swig/perl/native/t/3client.t
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/bindings/swig/perl/native/t/3client.t?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/bindings/swig/perl/native/t/3client.t (original)
+++ subversion/branches/authzperf/subversion/bindings/swig/perl/native/t/3client.t Sat Jan  3 14:00:41 2015
@@ -20,7 +20,7 @@
 #
 #
 
-use Test::More tests => 297;
+use Test::More tests => 302;
 use strict;
 
 # shut up about variables that are only used once.
@@ -1119,6 +1119,45 @@ isa_ok($ph2,'HASH','propget returns HASH
 is(scalar(keys %$ph2),0,
    'No properties after deleting a property');
 
+# test cancel callback
+my $cancel_cb_called = 0;
+$ctx->cancel(sub { $cancel_cb_called++; 0 });
+my $log_entries_received = 0;
+$ctx->log5($reposurl,
+              'HEAD',['HEAD',1],0, # peg rev, rev ranges, limit
+              1,1,0, # discover_changed_paths, strict_node_history, include_merged_revisions
+              undef, # revprops
+              sub { $log_entries_received++ });
+# TEST
+ok($cancel_cb_called, 'cancel callback was called');
+# TEST
+is($log_entries_received, $current_rev, 'log entries received');
+
+my $cancel_msg = "stop the presses";
+$ctx->cancel(sub { $cancel_msg });
+$svn_error = $ctx->log5($reposurl,
+              'HEAD',['HEAD',1],0, # peg rev, rev ranges, limit
+              1,1,0, # discover_changed_paths, strict_node_history, include_merged_revisions
+              undef, # revprops
+              sub { });
+# TEST
+isa_ok($svn_error, '_p_svn_error_t', 'return of a cancelled operation');
+# TEST
+is($svn_error->apr_err, $SVN::Error::CANCELLED, "SVN_ERR_CANCELLED");
+{
+    # If we're running a debug build, $svn_error may be the top of a
+    # chain of svn_error_t's (all with message "traced call"), we need 
+    # to get to the bottom svn_error_t to check for the original message.
+    my $chained = $svn_error;
+    $chained = $chained->child while $chained->child;
+    # TEST
+    is($chained->message, $cancel_msg, 'cancellation message');
+}
+
+$svn_error->clear(); # don't leak this
+$ctx->cancel(undef); # reset cancel callback
+
+
 SKIP: {
     # This is ugly.  It is included here as an aide to understand how
     # to test this and because it makes my life easier as I only have

Modified: subversion/branches/authzperf/subversion/bindings/swig/perl/native/t/6ra.t
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/bindings/swig/perl/native/t/6ra.t?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/bindings/swig/perl/native/t/6ra.t (original)
+++ subversion/branches/authzperf/subversion/bindings/swig/perl/native/t/6ra.t Sat Jan  3 14:00:41 2015
@@ -202,12 +202,6 @@ is($ed->{trunk}{props}{'dir-prop'}, 'fro
 is($ed->{'trunk/filea'}{props}{'binary-prop'}, $BINARY_DATA,
    'replay: binary-prop');
 
-END {
-diag "cleanup";
-rmtree($repospath);
-}
-
-
 package MockEditor;
 
 sub new { bless {}, shift }

Modified: subversion/branches/authzperf/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c (original)
+++ subversion/branches/authzperf/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c Sat Jan  3 14:00:41 2015
@@ -1540,6 +1540,7 @@ static svn_error_t *type_conversion_erro
 typedef struct item_baton {
   PyObject *editor;     /* the editor handling the callbacks */
   PyObject *baton;      /* the dir/file baton (or NULL for edit baton) */
+  apr_pool_t *pool;     /* top-level pool */
 } item_baton;
 
 static item_baton *make_baton(apr_pool_t *pool,
@@ -1548,13 +1549,11 @@ static item_baton *make_baton(apr_pool_t
 {
   item_baton *newb = apr_palloc(pool, sizeof(*newb));
 
-  /* Note: We steal the caller's reference to 'baton'. Also, to avoid
-     memory leaks, we borrow the caller's reference to 'editor'. In this
-     case, borrowing the reference to 'editor' is safe because the contents
-     of an item_baton struct are only used by function calls which operate on
-     the editor itself. */
+  /* Note: We steal the caller's reference to 'baton'. */
+  Py_INCREF(editor);
   newb->editor = editor;
   newb->baton = baton;
+  newb->pool = pool;
 
   return newb;
 }
@@ -1583,6 +1582,9 @@ static svn_error_t *close_baton(void *ba
   /* there is no return value, so just toss this object (probably Py_None) */
   Py_DECREF(result);
 
+  /* Release the editor object */
+  Py_DECREF(ib->editor);
+
   /* We're now done with the baton. Since there isn't really a free, all
      we need to do is note that its objects are no longer referenced by
      the baton.  */
@@ -2044,6 +2046,373 @@ void svn_swig_py_make_editor(const svn_d
   *edit_baton = make_baton(pool, py_editor, NULL);
 }
 
+
+/* Wrappers for dump stream parser */
+
+static svn_error_t *parse_fn3_magic_header_record(int version,
+                                                  void *parse_baton,
+                                                  apr_pool_t *pool)
+{
+  item_baton *ib = parse_baton;
+  PyObject *result;
+  svn_error_t *err;
+
+  svn_swig_py_acquire_py_lock();
+
+  /* ### python doesn't have 'const' on the method name and format */
+  if ((result = PyObject_CallMethod(ib->editor, (char *)"magic_header_record",
+                                    (char *)"lO&", version,
+                                    make_ob_pool, pool)) == NULL)
+    {
+      err = callback_exception_error();
+      goto finished;
+    }
+
+  /* there is no return value, so just toss this object (probably Py_None) */
+  Py_DECREF(result);
+  err = SVN_NO_ERROR;
+
+ finished:
+  svn_swig_py_release_py_lock();
+  return err;
+}
+
+
+static svn_error_t *parse_fn3_uuid_record(const char *uuid,
+                                          void *parse_baton,
+                                          apr_pool_t *pool)
+{
+  item_baton *ib = parse_baton;
+  PyObject *result;
+  svn_error_t *err;
+
+  svn_swig_py_acquire_py_lock();
+
+  /* ### python doesn't have 'const' on the method name and format */
+  if ((result = PyObject_CallMethod(ib->editor, (char *)"uuid_record",
+                                    (char *)"sO&", uuid,
+                                    make_ob_pool, pool)) == NULL)
+    {
+      err = callback_exception_error();
+      goto finished;
+    }
+
+  /* there is no return value, so just toss this object (probably Py_None) */
+  Py_DECREF(result);
+  err = SVN_NO_ERROR;
+
+ finished:
+  svn_swig_py_release_py_lock();
+  return err;
+}
+
+
+static svn_error_t *parse_fn3_new_revision_record(void **revision_baton,
+                                                  apr_hash_t *headers,
+                                                  void *parse_baton,
+                                                  apr_pool_t *pool)
+{
+  item_baton *ib = parse_baton;
+  PyObject *result;
+  PyObject *tmp;
+  svn_error_t *err;
+
+  svn_swig_py_acquire_py_lock();
+
+  if ((result = PyObject_CallMethod(ib->editor, (char *)"new_revision_record",
+                                   (char *)"O&O&",
+                                   svn_swig_py_stringhash_to_dict, headers,
+                                   make_ob_pool, pool)) == NULL) {
+      err = callback_exception_error();
+      goto finished;
+    }
+
+  /* make_baton takes our 'result' reference */
+  *revision_baton = make_baton(pool, ib->editor, result);
+  err = SVN_NO_ERROR;
+
+ finished:
+  svn_swig_py_release_py_lock();
+  return err;
+}
+
+
+static svn_error_t *parse_fn3_new_node_record(void **node_baton,
+                                              apr_hash_t *headers,
+                                              void *revision_baton,
+                                              apr_pool_t *pool)
+{
+  item_baton *ib = revision_baton;
+  PyObject *result;
+  svn_error_t *err;
+
+  svn_swig_py_acquire_py_lock();
+
+  if ((result = PyObject_CallMethod(ib->editor, (char *)"new_node_record",
+                                   (char *)"O&OO&",
+                                   svn_swig_py_stringhash_to_dict, headers,
+                                   ib->baton,
+                                   make_ob_pool, pool)) == NULL) {
+      err = callback_exception_error();
+      goto finished;
+    }
+
+  /* make_baton takes our 'result' reference */
+  *node_baton = make_baton(pool, ib->editor, result);
+  err = SVN_NO_ERROR;
+
+ finished:
+  svn_swig_py_release_py_lock();
+  return err;
+}
+
+
+static svn_error_t *parse_fn3_set_revision_property(void *revision_baton,
+                                                    const char *name,
+                                                    const svn_string_t *value)
+{
+  item_baton *ib = revision_baton;
+  PyObject *result;
+  svn_error_t *err;
+
+  svn_swig_py_acquire_py_lock();
+
+  /* ### python doesn't have 'const' on the method name and format */
+  if ((result = PyObject_CallMethod(ib->editor, (char *)"set_revision_property",
+                                    (char *)"Oss#", ib->baton, name,
+                                    value ? value->data : NULL,
+                                    value ? value->len : 0)) == NULL)
+    {
+      err = callback_exception_error();
+      goto finished;
+    }
+
+  /* there is no return value, so just toss this object (probably Py_None) */
+  Py_DECREF(result);
+  err = SVN_NO_ERROR;
+
+ finished:
+  svn_swig_py_release_py_lock();
+  return err;
+}
+
+
+static svn_error_t *parse_fn3_set_node_property(void *node_baton,
+                                                const char *name,
+                                                const svn_string_t *value)
+{
+  item_baton *ib = node_baton;
+  PyObject *result;
+  svn_error_t *err;
+
+  svn_swig_py_acquire_py_lock();
+
+  /* ### python doesn't have 'const' on the method name and format */
+  if ((result = PyObject_CallMethod(ib->editor, (char *)"set_node_property",
+                                    (char *)"Oss#", ib->baton, name,
+                                    value ? value->data : NULL,
+                                    value ? value->len : 0)) == NULL)
+    {
+      err = callback_exception_error();
+      goto finished;
+    }
+
+  /* there is no return value, so just toss this object (probably Py_None) */
+  Py_DECREF(result);
+  err = SVN_NO_ERROR;
+
+ finished:
+  svn_swig_py_release_py_lock();
+  return err;
+}
+
+
+static svn_error_t *parse_fn3_delete_node_property(void *node_baton,
+                                                   const char *name)
+{
+  item_baton *ib = node_baton;
+  PyObject *result;
+  svn_error_t *err;
+
+  svn_swig_py_acquire_py_lock();
+
+  /* ### python doesn't have 'const' on the method name and format */
+  if ((result = PyObject_CallMethod(ib->editor, (char *)"delete_node_property",
+                                    (char *)"Os", ib->baton, name)) == NULL)
+    {
+      err = callback_exception_error();
+      goto finished;
+    }
+
+  /* there is no return value, so just toss this object (probably Py_None) */
+  Py_DECREF(result);
+  err = SVN_NO_ERROR;
+
+ finished:
+  svn_swig_py_release_py_lock();
+  return err;
+}
+
+
+static svn_error_t *parse_fn3_remove_node_props(void *node_baton)
+{
+  item_baton *ib = node_baton;
+  PyObject *result;
+  svn_error_t *err;
+
+  svn_swig_py_acquire_py_lock();
+
+  /* ### python doesn't have 'const' on the method name and format */
+  if ((result = PyObject_CallMethod(ib->editor, (char *)"remove_node_props",
+                                    (char *)"(O)", ib->baton)) == NULL)
+    {
+      err = callback_exception_error();
+      goto finished;
+    }
+
+  /* there is no return value, so just toss this object (probably Py_None) */
+  Py_DECREF(result);
+  err = SVN_NO_ERROR;
+
+ finished:
+  svn_swig_py_release_py_lock();
+  return err;
+}
+
+
+static svn_error_t *parse_fn3_set_fulltext(svn_stream_t **stream,
+                                           void *node_baton)
+{
+  item_baton *ib = node_baton;
+  PyObject *result;
+  svn_error_t *err;
+
+  svn_swig_py_acquire_py_lock();
+
+  /* ### python doesn't have 'const' on the method name and format */
+  if ((result = PyObject_CallMethod(ib->editor, (char *)"set_fulltext",
+                                    (char *)"(O)", ib->baton)) == NULL)
+    {
+      err = callback_exception_error();
+      goto finished;
+    }
+
+  /* Interpret None to mean NULL - no text is desired */
+  if (result == Py_None)
+    {
+      *stream = NULL;
+    }
+  else
+    {
+      /* create a stream from the IO object. it will increment the
+         reference on the 'result'. */
+      *stream = svn_swig_py_make_stream(result, ib->pool);
+    }
+
+  /* if the handler returned an IO object, svn_swig_py_make_stream() has
+     incremented its reference counter. If it was None, it is discarded. */
+  Py_DECREF(result);
+  err = SVN_NO_ERROR;
+
+ finished:
+  svn_swig_py_release_py_lock();
+  return err;
+}
+
+
+static svn_error_t *parse_fn3_apply_textdelta(svn_txdelta_window_handler_t *handler,
+                                              void **handler_baton,
+                                              void *node_baton)
+{
+  item_baton *ib = node_baton;
+  PyObject *result;
+  svn_error_t *err;
+
+  svn_swig_py_acquire_py_lock();
+
+  /* ### python doesn't have 'const' on the method name and format */
+  if ((result = PyObject_CallMethod(ib->editor, (char *)"apply_textdelta",
+                                    (char *)"(O)", ib->baton)) == NULL)
+    {
+      err = callback_exception_error();
+      goto finished;
+    }
+
+  /* Interpret None to mean svn_delta_noop_window_handler. This is much
+     easier/faster than making code always have to write a NOOP handler
+     in Python.  */
+  if (result == Py_None)
+    {
+      Py_DECREF(result);
+
+      *handler = svn_delta_noop_window_handler;
+      *handler_baton = NULL;
+    }
+  else
+    {
+      /* return the thunk for invoking the handler. the baton takes our
+         'result' reference, which is the handler. */
+      *handler = window_handler;
+      *handler_baton = result;
+    }
+
+  err = SVN_NO_ERROR;
+
+ finished:
+  svn_swig_py_release_py_lock();
+  return err;
+}
+
+
+static svn_error_t *parse_fn3_close_node(void *node_baton)
+{
+  return close_baton(node_baton, "close_node");
+}
+
+
+static svn_error_t *parse_fn3_close_revision(void *revision_baton)
+{
+  return close_baton(revision_baton, "close_revision");
+}
+
+
+static const svn_repos_parse_fns3_t thunk_parse_fns3_vtable = 
+  {
+    parse_fn3_magic_header_record,
+    parse_fn3_uuid_record,
+    parse_fn3_new_revision_record,
+    parse_fn3_new_node_record,
+    parse_fn3_set_revision_property,
+    parse_fn3_set_node_property,
+    parse_fn3_delete_node_property,
+    parse_fn3_remove_node_props,
+    parse_fn3_set_fulltext,
+    parse_fn3_apply_textdelta,
+    parse_fn3_close_node,
+    parse_fn3_close_revision
+  };
+
+static apr_status_t
+svn_swig_py_parse_fns3_destroy(void *parse_baton)
+{
+  close_baton(parse_baton, "_close_dumpstream");
+  return APR_SUCCESS;
+}
+
+void svn_swig_py_make_parse_fns3(const svn_repos_parse_fns3_t **parse_fns3,
+                                 void **parse_baton,
+                                 PyObject *py_parse_fns3,
+                                 apr_pool_t *pool)
+{
+  *parse_fns3 = &thunk_parse_fns3_vtable;
+  *parse_baton = make_baton(pool, py_parse_fns3, NULL);
+
+  /* Dump stream vtable does not provide a method which is called right before
+     the end of the parsing (similar to close_edit/abort_edit in delta editor).
+     Thus, register a pool clean-up routine to release this parse baton. */
+  apr_pool_cleanup_register(pool, *parse_baton, svn_swig_py_parse_fns3_destroy,
+                            apr_pool_cleanup_null);
+}
 
 
 /*** Other Wrappers for SVN Functions ***/

Modified: subversion/branches/authzperf/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h (original)
+++ subversion/branches/authzperf/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h Sat Jan  3 14:00:41 2015
@@ -252,6 +252,12 @@ void svn_swig_py_make_editor(const svn_d
                              PyObject *py_editor,
                              apr_pool_t *pool);
 
+/* make a parse vtable that "thunks" from C callbacks up to Python */
+void svn_swig_py_make_parse_fns3(const svn_repos_parse_fns3_t **parse_fns3,
+                                 void **parse_baton,
+                                 PyObject *py_parse_fns3,
+                                 apr_pool_t *pool);
+
 apr_file_t *svn_swig_py_make_file(PyObject *py_file,
                                   apr_pool_t *pool);
 

Modified: subversion/branches/authzperf/subversion/bindings/swig/python/svn/core.py
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/bindings/swig/python/svn/core.py?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/bindings/swig/python/svn/core.py (original)
+++ subversion/branches/authzperf/subversion/bindings/swig/python/svn/core.py Sat Jan  3 14:00:41 2015
@@ -191,8 +191,9 @@ class Stream:
     svn_stream_write(self._stream, buf)
 
   def close(self):
-    svn_stream_close(self._stream)
-    self._stream = None
+    if self._stream is not None:
+      svn_stream_close(self._stream)
+      self._stream = None
 
 def secs_from_timestr(svn_datetime, pool=None):
   """Convert a Subversion datetime string into seconds since the Epoch."""

Modified: subversion/branches/authzperf/subversion/bindings/swig/python/svn/repos.py
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/bindings/swig/python/svn/repos.py?rev=1649205&r1=1649204&r2=1649205&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/bindings/swig/python/svn/repos.py (original)
+++ subversion/branches/authzperf/subversion/bindings/swig/python/svn/repos.py Sat Jan  3 14:00:41 2015
@@ -285,3 +285,56 @@ class RevisionChangeCollector(ChangeColl
     if idx == -1:
       return parent_path + '/' + path
     return parent_path + path[idx:]
+
+
+class ParseFns3:
+    def __init__(self):
+        pass
+
+    def __del__(self):
+        pass
+
+    def _close_dumpstream(self):
+        # Does not correspond to a C method - called before finishing the
+        # parsing of the dump stream.
+        pass
+
+    def magic_header_record(self, version, pool=None):
+        pass
+
+    def uuid_record(self, uuid, pool=None):
+        pass
+
+    def new_revision_record(self, headers, pool=None):
+        return None # Returns revision_baton
+
+    def new_node_record(self, headers, revision_baton, pool=None):
+        return None # Returns node_baton
+
+    def set_revision_property(self, revision_baton, name, value):
+        pass
+
+    def set_node_property(self, node_baton, name, value):
+        pass
+
+    def delete_node_property(self, node_baton, name):
+        pass
+
+    def remove_node_props(self, node_baton):
+        pass
+
+    def set_fulltext(self, node_baton):
+        return None # Returns a writable stream
+
+    def apply_textdelta(self, node_baton):
+        return None # Returns delta window handler
+
+    def close_node(self, node_baton):
+        pass
+
+    def close_revision(self, revision_baton):
+        pass
+
+
+def make_parse_fns3(parse_fns3, pool=None):
+    return svn_swig_py_make_parse_fns3(parse_fns3, pool)