You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2013/10/16 00:57:09 UTC

svn commit: r1532583 [1/10] - in /subversion/branches/fsfs-improvements: ./ build/ac-macros/ build/generator/ build/generator/templates/ build/win32/ contrib/client-side/emacs/ notes/ subversion/bindings/javahl/native/ subversion/bindings/javahl/src/or...

Author: stefan2
Date: Tue Oct 15 22:57:03 2013
New Revision: 1532583

URL: http://svn.apache.org/r1532583
Log:
On the fsfs-improvements branch: sync with /trunk.
Keep the BRANCH-README (deleted in /trunk).

Added:
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/GlobalConfig.h
      - copied unchanged from r1532579, subversion/trunk/subversion/bindings/javahl/native/GlobalConfig.h
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigImpl_Category.cpp
      - copied unchanged from r1532579, subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigImpl_Category.cpp
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigLib.cpp
      - copied unchanged from r1532579, subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigLib.cpp
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/org_apache_subversion_javahl_util_TunnelChannel.cpp
      - copied unchanged from r1532579, subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_util_TunnelChannel.cpp
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/TunnelAgent.java
      - copied unchanged from r1532579, subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/TunnelAgent.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/util/ConfigImpl.java
      - copied unchanged from r1532579, subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/util/ConfigImpl.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/util/ConfigLib.java
      - copied unchanged from r1532579, subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/util/ConfigLib.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/util/RequestChannel.java
      - copied unchanged from r1532579, subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/util/RequestChannel.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/util/ResponseChannel.java
      - copied unchanged from r1532579, subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/util/ResponseChannel.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/util/TunnelChannel.java
      - copied unchanged from r1532579, subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/util/TunnelChannel.java
    subversion/branches/fsfs-improvements/subversion/include/private/svn_file.h
      - copied unchanged from r1532579, subversion/trunk/subversion/include/private/svn_file.h
    subversion/branches/fsfs-improvements/subversion/libsvn_repos/config_pool.c
      - copied unchanged from r1532579, subversion/trunk/subversion/libsvn_repos/config_pool.c
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/file.c
      - copied unchanged from r1532579, subversion/trunk/subversion/libsvn_subr/file.c
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/root_pools.c
      - copied unchanged from r1532579, subversion/trunk/subversion/libsvn_subr/root_pools.c
    subversion/branches/fsfs-improvements/subversion/svnserve/logger.c
      - copied unchanged from r1532579, subversion/trunk/subversion/svnserve/logger.c
    subversion/branches/fsfs-improvements/subversion/svnserve/logger.h
      - copied unchanged from r1532579, subversion/trunk/subversion/svnserve/logger.h
    subversion/branches/fsfs-improvements/subversion/tests/libsvn_subr/root-pools-test.c
      - copied unchanged from r1532579, subversion/trunk/subversion/tests/libsvn_subr/root-pools-test.c
    subversion/branches/fsfs-improvements/tools/client-side/svn-bench/null-info-cmd.c
      - copied unchanged from r1532579, subversion/trunk/tools/client-side/svn-bench/null-info-cmd.c
Removed:
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/org_apache_subversion_javahl_ConfigImpl_Category.cpp
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/ConfigImpl.java
Modified:
    subversion/branches/fsfs-improvements/   (props changed)
    subversion/branches/fsfs-improvements/CHANGES
    subversion/branches/fsfs-improvements/INSTALL
    subversion/branches/fsfs-improvements/Makefile.in
    subversion/branches/fsfs-improvements/build.conf
    subversion/branches/fsfs-improvements/build/ac-macros/compiler.m4
    subversion/branches/fsfs-improvements/build/generator/gen_base.py
    subversion/branches/fsfs-improvements/build/generator/gen_win.py
    subversion/branches/fsfs-improvements/build/generator/gen_win_dependencies.py
    subversion/branches/fsfs-improvements/build/generator/templates/build_locale.ezt
    subversion/branches/fsfs-improvements/build/win32/svn.rc
    subversion/branches/fsfs-improvements/configure.ac
    subversion/branches/fsfs-improvements/contrib/client-side/emacs/vc-svn.el
    subversion/branches/fsfs-improvements/notes/ev2-callbacks-template.c
    subversion/branches/fsfs-improvements/notes/knobs
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/ClientContext.cpp
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/ClientContext.h
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/CommitEditor.cpp   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/CommitEditor.h   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/CreateJ.cpp
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/EditorProxy.cpp   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/EditorProxy.h   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/InfoCallback.h
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/Iterator.cpp   (props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/Iterator.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/JNIByteArray.cpp
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/JNIByteArray.h
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/JNIUtil.cpp
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/JNIUtil.h
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/LockTokenTable.cpp   (props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/LockTokenTable.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/OperationContext.cpp
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/OperationContext.h
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/PatchCallback.h
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/RemoteSession.cpp   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/RemoteSession.h   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/RemoteSessionContext.cpp   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/RemoteSessionContext.h   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/RevisionRangeList.cpp   (props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/RevisionRangeList.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/SVNClient.cpp
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/SVNClient.h
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/StateReporter.cpp   (props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/StateReporter.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/org_apache_subversion_javahl_NativeResources.cpp
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/org_apache_subversion_javahl_remote_CommitEditor.cpp   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/org_apache_subversion_javahl_remote_RemoteFactory.cpp   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/org_apache_subversion_javahl_remote_RemoteSession.cpp   (props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/org_apache_subversion_javahl_remote_StateReporter.cpp   (props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/org_apache_subversion_javahl_types_RevisionRangeList.cpp   (props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/org_apache_subversion_javahl_util_DiffLib.cpp   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/ClientNotifyInformation.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNConfig.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNEditor.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeResources.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNUtil.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/CommitEditor.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/RemoteFactory.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/RemoteSession.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/StateReporter.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/RevisionRangeList.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Version.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/VersionExtended.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/util/DiffLib.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Path.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRemoteTests.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java
    subversion/branches/fsfs-improvements/subversion/bindings/javahl/tests/org/apache/subversion/javahl/UtilTests.java
    subversion/branches/fsfs-improvements/subversion/bindings/swig/ruby/test/test_fs.rb
    subversion/branches/fsfs-improvements/subversion/bindings/swig/ruby/test/util.rb
    subversion/branches/fsfs-improvements/subversion/bindings/swig/ruby/test/windows_util.rb
    subversion/branches/fsfs-improvements/subversion/include/private/svn_editor.h
    subversion/branches/fsfs-improvements/subversion/include/private/svn_packed_data.h   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/include/private/svn_repos_private.h
    subversion/branches/fsfs-improvements/subversion/include/private/svn_subr_private.h
    subversion/branches/fsfs-improvements/subversion/include/svn_client.h
    subversion/branches/fsfs-improvements/subversion/include/svn_dirent_uri.h
    subversion/branches/fsfs-improvements/subversion/include/svn_error_codes.h
    subversion/branches/fsfs-improvements/subversion/include/svn_fs.h
    subversion/branches/fsfs-improvements/subversion/include/svn_io.h
    subversion/branches/fsfs-improvements/subversion/include/svn_ra.h
    subversion/branches/fsfs-improvements/subversion/include/svn_repos.h
    subversion/branches/fsfs-improvements/subversion/include/svn_types.h
    subversion/branches/fsfs-improvements/subversion/include/svn_version.h
    subversion/branches/fsfs-improvements/subversion/libsvn_client/copy.c
    subversion/branches/fsfs-improvements/subversion/libsvn_client/deprecated.c
    subversion/branches/fsfs-improvements/subversion/libsvn_client/externals.c
    subversion/branches/fsfs-improvements/subversion/libsvn_client/log.c
    subversion/branches/fsfs-improvements/subversion/libsvn_client/merge.c
    subversion/branches/fsfs-improvements/subversion/libsvn_client/mergeinfo.c
    subversion/branches/fsfs-improvements/subversion/libsvn_client/ra.c
    subversion/branches/fsfs-improvements/subversion/libsvn_delta/compat.c
    subversion/branches/fsfs-improvements/subversion/libsvn_delta/editor.c
    subversion/branches/fsfs-improvements/subversion/libsvn_fs/editor.c
    subversion/branches/fsfs-improvements/subversion/libsvn_fs/fs-loader.c
    subversion/branches/fsfs-improvements/subversion/libsvn_fs/fs-loader.h
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/fs.c
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/tree.c
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/cached_data.c   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/cached_data.h   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/fs.c
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/fs.h
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/hotcopy.c   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/hotcopy.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/low_level.c   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/low_level.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/pack.c   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/pack.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/recovery.c   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/recovery.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/revprops.c   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/revprops.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/transaction.c   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/transaction.h   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/tree.c
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/util.c   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/util.h   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/verify.c   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/verify.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/cached_data.c   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/cached_data.h   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/changes.c   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/changes.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/fs.c
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/hotcopy.c   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/hotcopy.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/index.c   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/index.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/low_level.c
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/low_level.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/noderevs.c   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/noderevs.h   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/pack.c   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/pack.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/recovery.c   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/recovery.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/reps.c   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/reps.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/revprops.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/string_table.c   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/string_table.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/transaction.c   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/transaction.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/tree.c
    subversion/branches/fsfs-improvements/subversion/libsvn_fs_x/util.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_ra/compat.c
    subversion/branches/fsfs-improvements/subversion/libsvn_ra/deprecated.c
    subversion/branches/fsfs-improvements/subversion/libsvn_ra/ra_loader.c
    subversion/branches/fsfs-improvements/subversion/libsvn_ra/ra_loader.h
    subversion/branches/fsfs-improvements/subversion/libsvn_ra/wrapper_template.h
    subversion/branches/fsfs-improvements/subversion/libsvn_ra_local/ra_plugin.c
    subversion/branches/fsfs-improvements/subversion/libsvn_ra_local/split_url.c
    subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/commit.c
    subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/log.c
    subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/ra_serf.h
    subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/util.c
    subversion/branches/fsfs-improvements/subversion/libsvn_ra_svn/client.c
    subversion/branches/fsfs-improvements/subversion/libsvn_ra_svn/deprecated.c   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_ra_svn/marshal.c
    subversion/branches/fsfs-improvements/subversion/libsvn_ra_svn/protocol
    subversion/branches/fsfs-improvements/subversion/libsvn_ra_svn/ra_svn.h
    subversion/branches/fsfs-improvements/subversion/libsvn_repos/authz.c
    subversion/branches/fsfs-improvements/subversion/libsvn_repos/commit.c
    subversion/branches/fsfs-improvements/subversion/libsvn_repos/deprecated.c
    subversion/branches/fsfs-improvements/subversion/libsvn_repos/dump.c
    subversion/branches/fsfs-improvements/subversion/libsvn_repos/log.c
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/cache-membuffer.c
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/cache_config.c
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/cmdline.c
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/compress.c   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/config.c
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/config_file.c
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/config_impl.h
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/deprecated.c
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/io.c
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/packed_data.c   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/prefix_string.c   (contents, props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/sorts.c
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/stream.c
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/string.c
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/utf.c
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/utf8proc.c   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/utf8proc/utf8proc.c   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/utf8proc/utf8proc.h   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/utf8proc/utf8proc_data.c   (props changed)
    subversion/branches/fsfs-improvements/subversion/libsvn_subr/win32_crashrpt.c
    subversion/branches/fsfs-improvements/subversion/libsvn_wc/old-and-busted.c
    subversion/branches/fsfs-improvements/subversion/libsvn_wc/update_editor.c
    subversion/branches/fsfs-improvements/subversion/libsvn_wc/wc-queries.sql
    subversion/branches/fsfs-improvements/subversion/libsvn_wc/wc_db.c
    subversion/branches/fsfs-improvements/subversion/libsvn_wc/wc_db.h
    subversion/branches/fsfs-improvements/subversion/libsvn_wc/wc_db_private.h
    subversion/branches/fsfs-improvements/subversion/libsvn_wc/wc_db_update_move.c
    subversion/branches/fsfs-improvements/subversion/mod_dav_svn/merge.c
    subversion/branches/fsfs-improvements/subversion/mod_dav_svn/reports/log.c
    subversion/branches/fsfs-improvements/subversion/svn/cl.h
    subversion/branches/fsfs-improvements/subversion/svn/conflict-callbacks.c
    subversion/branches/fsfs-improvements/subversion/svn/help-cmd.c
    subversion/branches/fsfs-improvements/subversion/svn/log-cmd.c
    subversion/branches/fsfs-improvements/subversion/svn/svn.c
    subversion/branches/fsfs-improvements/subversion/svnadmin/svnadmin.c
    subversion/branches/fsfs-improvements/subversion/svnauth/svnauth.c
    subversion/branches/fsfs-improvements/subversion/svndumpfilter/svndumpfilter.c
    subversion/branches/fsfs-improvements/subversion/svnlook/svnlook.c
    subversion/branches/fsfs-improvements/subversion/svnmucc/svnmucc.c
    subversion/branches/fsfs-improvements/subversion/svnrdump/svnrdump.c
    subversion/branches/fsfs-improvements/subversion/svnserve/cyrus_auth.c
    subversion/branches/fsfs-improvements/subversion/svnserve/serve.c
    subversion/branches/fsfs-improvements/subversion/svnserve/server.h
    subversion/branches/fsfs-improvements/subversion/svnserve/svnserve.c
    subversion/branches/fsfs-improvements/subversion/svnsync/svnsync.c
    subversion/branches/fsfs-improvements/subversion/svnversion/svnversion.c
    subversion/branches/fsfs-improvements/subversion/tests/cmdline/authz_tests.py
    subversion/branches/fsfs-improvements/subversion/tests/cmdline/checkout_tests.py
    subversion/branches/fsfs-improvements/subversion/tests/cmdline/commit_tests.py
    subversion/branches/fsfs-improvements/subversion/tests/cmdline/externals_tests.py
    subversion/branches/fsfs-improvements/subversion/tests/cmdline/getopt_tests.py
    subversion/branches/fsfs-improvements/subversion/tests/cmdline/getopt_tests_data/svn--help_stdout
    subversion/branches/fsfs-improvements/subversion/tests/cmdline/getopt_tests_data/svn_help_log_switch_stdout
    subversion/branches/fsfs-improvements/subversion/tests/cmdline/getopt_tests_data/svn_help_stdout
    subversion/branches/fsfs-improvements/subversion/tests/cmdline/log_tests.py
    subversion/branches/fsfs-improvements/subversion/tests/cmdline/move_tests.py
    subversion/branches/fsfs-improvements/subversion/tests/cmdline/revert_tests.py
    subversion/branches/fsfs-improvements/subversion/tests/cmdline/tree_conflict_tests.py
    subversion/branches/fsfs-improvements/subversion/tests/cmdline/upgrade_tests.py
    subversion/branches/fsfs-improvements/subversion/tests/libsvn_fs_x/   (props changed)
    subversion/branches/fsfs-improvements/subversion/tests/libsvn_fs_x/string-table-test.c   (props changed)
    subversion/branches/fsfs-improvements/subversion/tests/libsvn_ra/ra-test.c
    subversion/branches/fsfs-improvements/subversion/tests/libsvn_subr/packed-data-test.c   (props changed)
    subversion/branches/fsfs-improvements/subversion/tests/libsvn_subr/prefix-string-test.c   (props changed)
    subversion/branches/fsfs-improvements/subversion/tests/libsvn_subr/priority-queue-test.c   (props changed)
    subversion/branches/fsfs-improvements/subversion/tests/libsvn_subr/stream-test.c
    subversion/branches/fsfs-improvements/subversion/tests/libsvn_subr/string-test.c
    subversion/branches/fsfs-improvements/subversion/tests/libsvn_wc/op-depth-test.c
    subversion/branches/fsfs-improvements/subversion/tests/libsvn_wc/wc-queries-test.c
    subversion/branches/fsfs-improvements/tools/client-side/svn-bench/cl.h
    subversion/branches/fsfs-improvements/tools/client-side/svn-bench/null-log-cmd.c
    subversion/branches/fsfs-improvements/tools/client-side/svn-bench/svn-bench.c
    subversion/branches/fsfs-improvements/tools/dev/fsfs-access-map.c
    subversion/branches/fsfs-improvements/tools/dev/unix-build/Makefile.svn
    subversion/branches/fsfs-improvements/tools/dist/backport.pl
    subversion/branches/fsfs-improvements/tools/server-side/fsfs-stats.c
    subversion/branches/fsfs-improvements/tools/server-side/svn-populate-node-origins-index.c
    subversion/branches/fsfs-improvements/tools/server-side/svn-rep-sharing-stats.c

Propchange: subversion/branches/fsfs-improvements/
------------------------------------------------------------------------------
  Merged /subversion/trunk:r1517473-1532579

Modified: subversion/branches/fsfs-improvements/CHANGES
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/CHANGES?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/CHANGES (original)
+++ subversion/branches/fsfs-improvements/CHANGES Tue Oct 15 22:57:03 2013
@@ -20,6 +20,8 @@ http://svn.apache.org/repos/asf/subversi
   - General:
 
   - API changes:
+    * New RA callbacks for managing ra_svn tunnels:
+      svn_ra_callbacks2_t::open_tunnel and svn_ra_callbacks2_t::close_tunnel.
 
   - Bindings:
 

Modified: subversion/branches/fsfs-improvements/INSTALL
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/INSTALL?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/INSTALL (original)
+++ subversion/branches/fsfs-improvements/INSTALL Tue Oct 15 22:57:03 2013
@@ -483,7 +483,7 @@ I.    INTRODUCTION
 
       13. SQLite  (REQUIRED)
 
-      Subversion 1.7 requires SQLite version 3.6.18 or above.  You can meet
+      Subversion 1.8 requires SQLite version 3.7.12 or above.  You can meet
       this dependency several ways:
         * Use an SQLite amalgamation file.
         * Specify an SQLite installation to use.

Modified: subversion/branches/fsfs-improvements/Makefile.in
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/Makefile.in?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/Makefile.in (original)
+++ subversion/branches/fsfs-improvements/Makefile.in Tue Oct 15 22:57:03 2013
@@ -167,11 +167,11 @@ MKDIR = @MKDIR@
 DOXYGEN = @DOXYGEN@
 
 # The EXTRA_ parameters can be used to pass extra flags at 'make' time.
-CFLAGS = @CFLAGS@ $(EXTRA_CFLAGS)
+CFLAGS = @CFLAGS@ @CUSERFLAGS@ $(EXTRA_CFLAGS)
 CMODEFLAGS = @CMODEFLAGS@
 CNOWARNFLAGS = @CNOWARNFLAGS@
 CMAINTAINERFLAGS = @CMAINTAINERFLAGS@
-CXXFLAGS = @CXXFLAGS@ $(EXTRA_CXXFLAGS)
+CXXFLAGS = @CXXFLAGS@ @CXXUSERFLAGS@ $(EXTRA_CXXFLAGS)
 CXXMODEFLAGS = @CXXMODEFLAGS@
 CXXNOWARNFLAGS = @CXXNOWARNFLAGS@
 CXXMAINTAINERFLAGS = @CXXMAINTAINERFLAGS@

Modified: subversion/branches/fsfs-improvements/build.conf
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/build.conf?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/build.conf (original)
+++ subversion/branches/fsfs-improvements/build.conf Tue Oct 15 22:57:03 2013
@@ -76,8 +76,12 @@ private-built-includes =
         subversion/bindings/javahl/include/org_apache_subversion_javahl_remote_RemoteFactory.h
         subversion/bindings/javahl/include/org_apache_subversion_javahl_remote_CommitEditor.h
         subversion/bindings/javahl/include/org_apache_subversion_javahl_remote_StateReporter.h
-        subversion/bindings/javahl/include/org_apache_subversion_javahl_ConfigImpl_Category.h
+        subversion/bindings/javahl/include/org_apache_subversion_javahl_util_ConfigImpl_Category.h
+        subversion/bindings/javahl/include/org_apache_subversion_javahl_util_ConfigLib.h
         subversion/bindings/javahl/include/org_apache_subversion_javahl_util_DiffLib.h
+        subversion/bindings/javahl/include/org_apache_subversion_javahl_util_TunnelChannel.h
+        subversion/bindings/javahl/include/org_apache_subversion_javahl_util_RequestChannel.h
+        subversion/bindings/javahl/include/org_apache_subversion_javahl_util_ResponseChannel.h
 
 test-scripts =
         subversion/tests/cmdline/*_tests.py
@@ -119,6 +123,7 @@ swig-checkout-files = common.swg swigrun
 #    msvc-libs        - additional libraries to link with on Windows
 #    msvc-export      - additional list of files to expose in dsp/vc(x)proj
 #    msvc-static      - visual studio target produces only a static lib
+#    msvc-force-static- visual studio always uses static libraries for svn libs
 #    add-deps         - expands to additional autoconf-defined dependencies
 #    add-install-deps - like add-deps, but for the install step
 #    external-lib     - expands to additional autoconf-defined libs
@@ -317,7 +322,6 @@ type = ra-module
 path = subversion/libsvn_ra_serf
 install = serf-lib
 libs = libsvn_delta libsvn_subr aprutil apriconv apr serf xml zlib
-msvc-libs = secur32.lib
 msvc-static = yes
 
 # Accessing repositories via SVN
@@ -732,6 +736,7 @@ type = lib
 path = gmock-fused
 sources = gmock-gtest-all.cc
 install = tests
+msvc-static = yes
 compile-cmd = $(COMPILE_GMOCK_CXX)
 link-cmd = $(LINK_CXX_LIB)
 
@@ -819,6 +824,7 @@ path = subversion/tests/libsvn_fs
 sources = locks-test.c
 install = test
 libs = libsvn_test libsvn_fs libsvn_delta libsvn_subr apriconv apr
+msvc-force-static = yes
 
 [fs-test]
 description = Test locks in libsvn_fs
@@ -866,6 +872,7 @@ path = subversion/tests/libsvn_subr
 sources = checksum-test.c
 install = test
 libs = libsvn_test libsvn_subr apr
+msvc-force-static = yes
 
 [compat-test]
 description = Test compatibility functions
@@ -890,6 +897,7 @@ path = subversion/tests/libsvn_subr
 sources = crypto-test.c
 install = test
 libs = libsvn_test libsvn_subr aprutil apr
+msvc-force-static = yes
 
 [dirent_uri-test]
 description = Test dirent_uri library
@@ -1003,6 +1011,14 @@ sources = revision-test.c
 install = test
 libs = libsvn_test libsvn_subr apr
 
+[root-pools-test]
+description = Test time functions
+type = exe
+path = subversion/tests/libsvn_subr
+sources = root-pools-test.c
+install = test
+libs = libsvn_test libsvn_subr apriconv apr
+
 [skel-test]
 description = Test skels in libsvn_subr
 type = exe
@@ -1096,6 +1112,7 @@ path = subversion/tests/libsvn_client
 sources = client-test.c
 install = test
 libs = libsvn_test libsvn_client libsvn_wc libsvn_repos libsvn_ra libsvn_fs libsvn_delta libsvn_subr apriconv apr
+msvc-force-static = yes
 
 # ----------------------------------------------------------------------------
 # Tests for libsvn_diff
@@ -1125,7 +1142,7 @@ type = exe
 path = subversion/tests/libsvn_ra
 sources = ra-test.c
 install = test
-libs = libsvn_test libsvn_ra libsvn_fs libsvn_delta libsvn_subr
+libs = libsvn_test libsvn_ra libsvn_ra_svn libsvn_fs libsvn_delta libsvn_subr
        apriconv apr
 
 # ----------------------------------------------------------------------------
@@ -1150,6 +1167,7 @@ path = subversion/tests/libsvn_wc
 sources = conflict-data-test.c utils.c
 install = test
 libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr
+msvc-force-static = yes
 
 [db-test]
 description = Test the wc-ng database subsystem
@@ -1158,6 +1176,7 @@ path = subversion/tests/libsvn_wc
 sources = db-test.c utils.c
 install = test
 libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr
+msvc-force-static = yes
 
 [pristine-store-test]
 description = Test the wc-ng pristine text storage subsystem
@@ -1166,6 +1185,7 @@ path = subversion/tests/libsvn_wc
 sources = pristine-store-test.c utils.c
 install = test
 libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr
+msvc-force-static = yes
 
 [entries-compat-test]
 description = Test backwards compat for the entry interface
@@ -1174,6 +1194,7 @@ path = subversion/tests/libsvn_wc
 sources = entries-compat.c utils.c
 install = test
 libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr
+msvc-force-static = yes
 
 [op-depth-test]
 description = Test layered tree changes
@@ -1182,6 +1203,7 @@ path = subversion/tests/libsvn_wc
 sources = op-depth-test.c utils.c
 install = test
 libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr
+msvc-force-static = yes
 
 [wc-queries-test]
 description = Test Sqlite query evaluation
@@ -1198,6 +1220,7 @@ path = subversion/tests/libsvn_wc
 sources = wc-test.c utils.c
 install = test
 libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr
+msvc-force-static = yes
 
 # ----------------------------------------------------------------------------
 # These are not unit tests at all, they are small programs that exercise
@@ -1229,6 +1252,7 @@ path = subversion/tests/cmdline
 sources = entries-dump.c
 install = test
 libs = libsvn_wc libsvn_subr apriconv apr
+msvc-force-static = yes
 testing = skip
 
 [atomic-ra-revprop-change]
@@ -1245,6 +1269,7 @@ path = subversion/tests/libsvn_wc
 sources = wc-lock-tester.c
 install = test
 libs = libsvn_wc libsvn_subr apriconv apr
+msvc-force-static = yes
 testing = skip
 
 [wc-incomplete-tester]
@@ -1253,6 +1278,7 @@ path = subversion/tests/libsvn_wc
 sources = wc-incomplete-tester.c
 install = test
 libs = libsvn_wc libsvn_subr apriconv apr
+msvc-force-static = yes
 testing = skip
 
 # ----------------------------------------------------------------------------
@@ -1316,7 +1342,8 @@ external-lib = $(SVN_APR_MEMCACHE_LIBS)
 type = lib
 external-lib = $(SVN_SERF_LIBS)
 external-project = serf/serf
-libs = apr aprutil xml openssl
+libs = apr aprutil openssl xml zlib
+msvc-libs = secur32.lib
 msvc-static = yes
 
 [sqlite]
@@ -1374,7 +1401,8 @@ libs = __ALL__
        skel-test strings-reps-test changes-test locks-test repos-test
        checksum-test compat-test config-test hashdump-test mergeinfo-test
        opt-test packed-data-test path-test prefix-string-test
-       priority-queue-test stream-test string-test time-test utf-test
+       priority-queue-test root-pools-test stream-test
+       string-test time-test utf-test
        error-test error-code-test cache-test spillbuf-test crypto-test
        named_atomic-test named_atomic-proc-test revision-test
        subst_translate-test io-test
@@ -1395,7 +1423,7 @@ libs = __ALL__
 type = project
 path = build/win32
 libs = __ALL_TESTS__
-       diff diff3 diff4 fsfs-reorg fsfs-stats fsfs-access-map svn-bench
+       diff diff3 diff4 fsfs-reorg fsfs-stats fsfs-access-map svnauth svn-bench
        svn-rep-sharing-stats svn-populate-node-origins-index
 
 [__LIBS__]

Modified: subversion/branches/fsfs-improvements/build/ac-macros/compiler.m4
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/build/ac-macros/compiler.m4?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/build/ac-macros/compiler.m4 (original)
+++ subversion/branches/fsfs-improvements/build/ac-macros/compiler.m4 Tue Oct 15 22:57:03 2013
@@ -58,19 +58,23 @@ AC_DEFUN([SVN_CC_MODE_SETUP],
   CFLAGS_KEEP="$CFLAGS"
   CFLAGS=""
 
-  dnl Find flags to force C90 mode
-                dnl gcc and clang
-  SVN_CFLAGS_ADD_IFELSE([-std=c90],[],[
-    SVN_CFLAGS_ADD_IFELSE([-std=c89],[],[
-      SVN_CFLAGS_ADD_IFELSE([-ansi])
+  if test "$GCC" = "yes"; then
+    dnl Find flags to force C90 mode
+                  dnl gcc and clang
+    SVN_CFLAGS_ADD_IFELSE([-std=c90],[],[
+      SVN_CFLAGS_ADD_IFELSE([-std=c89],[],[
+        SVN_CFLAGS_ADD_IFELSE([-ansi])
+      ])
     ])
-  ])
+  fi
 
   CMODEFLAGS="$CFLAGS"
   CFLAGS=""
 
-  dnl Find flags to silence all warnings
-  SVN_CFLAGS_ADD_IFELSE([-w])
+  if test "$GCC" = "yes"; then
+    dnl Find flags to silence all warnings
+    SVN_CFLAGS_ADD_IFELSE([-w])
+  fi
 
   CNOWARNFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS_KEEP"
@@ -78,9 +82,12 @@ AC_DEFUN([SVN_CC_MODE_SETUP],
   AC_SUBST(CMODEFLAGS)
   AC_SUBST(CNOWARNFLAGS)
   AC_SUBST(CMAINTAINERFLAGS)
+  AC_SUBST(CUSERFLAGS)
 
-  dnl Tell clang to not accept unknown warning flags
-  SVN_CFLAGS_ADD_IFELSE([-Werror=unknown-warning-option])
+  if test "$GCC" = "yes"; then
+    dnl Tell clang to not accept unknown warning flags
+    SVN_CFLAGS_ADD_IFELSE([-Werror=unknown-warning-option])
+  fi
 ])
 
 
@@ -89,15 +96,19 @@ AC_DEFUN([SVN_CXX_MODE_SETUP],
   CXXFLAGS_KEEP="$CXXFLAGS"
   CXXFLAGS=""
 
-  dnl Find flags to force C++98 mode
-                dnl g++ and clang++
-  SVN_CXXFLAGS_ADD_IFELSE([-std=c++98])
+  if test "$GXX" = "yes"; then
+    dnl Find flags to force C++98 mode
+                  dnl g++ and clang++
+    SVN_CXXFLAGS_ADD_IFELSE([-std=c++98])
+  fi
 
   CXXMODEFLAGS="$CFLAGS"
   CXXFLAGS=""
 
-  dnl Find flags to silence all warnings
-  SVN_CXXFLAGS_ADD_IFELSE([-w])
+  if test "$GXX" = "yes"; then
+    dnl Find flags to silence all warnings
+    SVN_CXXFLAGS_ADD_IFELSE([-w])
+  fi
 
   CXXNOWARNFLAGS="$CXXFLAGS"
   CXXFLAGS="$CXXFLAGS_KEEP"
@@ -105,7 +116,10 @@ AC_DEFUN([SVN_CXX_MODE_SETUP],
   AC_SUBST(CXXMODEFLAGS)
   AC_SUBST(CXXNOWARNFLAGS)
   AC_SUBST(CXXMAINTAINERFLAGS)
+  AC_SUBST(CXXUSERFLAGS)
 
-  dnl Tell clang++ to not accept unknown warning flags
-  SVN_CXXFLAGS_ADD_IFELSE([-Werror=unknown-warning-option])
+  if test "$GXX" = "yes"; then
+    dnl Tell clang++ to not accept unknown warning flags
+    SVN_CXXFLAGS_ADD_IFELSE([-Werror=unknown-warning-option])
+  fi
 ])

Modified: subversion/branches/fsfs-improvements/build/generator/gen_base.py
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/build/generator/gen_base.py?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/build/generator/gen_base.py (original)
+++ subversion/branches/fsfs-improvements/build/generator/gen_base.py Tue Oct 15 22:57:03 2013
@@ -334,6 +334,10 @@ class DependencyGraph:
     else:
       self.deps[type][target] = [ source ]
 
+  def remove(self, type, target, source):
+    if target in self.deps[type] and source in self.deps[type][target]:
+      self.deps[type][target].remove(source)
+
   def bulk_add(self, type, target, sources):
     if target in self.deps[type]:
       self.deps[type][target].extend(sources)
@@ -541,6 +545,8 @@ class TargetExe(TargetLinked):
     self.manpages = options.get('manpages', '')
     self.testing = options.get('testing')
 
+    self.msvc_force_static = options.get('msvc-force-static') == 'yes'
+
   def add_dependencies(self):
     TargetLinked.add_dependencies(self)
 
@@ -594,7 +600,6 @@ class TargetLib(TargetLinked):
     "tries to disable building as a shared library,"
 
     self.msvc_static = True
-    self.msvc_export = []
 
 class TargetApacheMod(TargetLib):
 

Modified: subversion/branches/fsfs-improvements/build/generator/gen_win.py
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/build/generator/gen_win.py?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/build/generator/gen_win.py (original)
+++ subversion/branches/fsfs-improvements/build/generator/gen_win.py Tue Oct 15 22:57:03 2013
@@ -198,6 +198,9 @@ class WinGeneratorBase(gen_win_dependenc
     install_targets = self.graph.get_all_sources(gen_base.DT_INSTALL) \
                       + self.projects
 
+    install_targets = [x for x in install_targets if not x.when or
+                                                     x.when in self._windows_when]
+
     # Don't create projects for scripts
     install_targets = [x for x in install_targets if not isinstance(x, gen_base.TargetScript)]
 
@@ -252,6 +255,21 @@ class WinGeneratorBase(gen_win_dependenc
             dll_targets.append(self.create_dll_target(target))
     install_targets.extend(dll_targets)
 
+    # Fix up targets that can't be linked to libraries
+    if not self.disable_shared:
+      for target in install_targets:
+        if isinstance(target, gen_base.TargetExe) and target.msvc_force_static:
+
+          # Make direct dependencies of all the indirect dependencies
+          linked_deps = {}
+          self.get_linked_win_depends(target, linked_deps)
+
+          for lk in linked_deps.keys():
+            if not isinstance(lk, gen_base.TargetLib) or not lk.msvc_export:
+              self.graph.add(gen_base.DT_LINK, target.name, lk)
+            else:
+              self.graph.remove(gen_base.DT_LINK, target.name, lk)
+
     for target in install_targets:
       target.project_guid = self.makeguid(target.name)
 
@@ -302,9 +320,7 @@ class WinGeneratorBase(gen_win_dependenc
       # against the static libraries because they sometimes access internal
       # library functions.
 
-      # ### The magic behavior for 'test' in a name and 'entries-dump' should
-      # ### move to another option in build.conf
-      if dep in deps[key] and key.find("test") == -1 and key != 'entries-dump':
+      if dep in deps[key]:
         deps[key].remove(dep)
         deps[key].append(target)
 

Modified: subversion/branches/fsfs-improvements/build/generator/gen_win_dependencies.py
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/build/generator/gen_win_dependencies.py?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/build/generator/gen_win_dependencies.py (original)
+++ subversion/branches/fsfs-improvements/build/generator/gen_win_dependencies.py Tue Oct 15 22:57:03 2013
@@ -123,6 +123,13 @@ class GenDependenciesBase(gen_base.Gener
         'magic',
   ]
 
+  # When build.conf contains a 'when = SOMETHING' where SOMETHING is not in
+  # this list, then the project is not generated on Windows.
+  _windows_when = [
+     'INSTALL_APACHE_MODS',
+     # not 'SVN_USE_GMOCK',
+  ]
+
   def parse_options(self, options):
     self.apr_path = 'apr'
     self.apr_util_path = 'apr-util'
@@ -787,6 +794,13 @@ class GenDependenciesBase(gen_base.Gener
       defines.extend(["HAVE_RB_ERRINFO"])
 
     forced_includes = []
+
+    if ver >= (1, 8, 0):
+      # Swig redefines NUM2LL as NUM2LONG if it isn't defined, but on Windows
+      # ruby 1.8+ declares NUM2LL as a static inline function.
+      # (LL2NUM and NUM2ULL don't have these problems)
+      defines.extend(['NUM2LL=NUM2LL'])
+
     if ver >= (1, 9, 0):
       forced_includes.append('swigutil_rb__pre_ruby.h')
       defines.extend(["SVN_SWIG_RUBY__CUSTOM_RUBY_CONFIG"])

Modified: subversion/branches/fsfs-improvements/build/generator/templates/build_locale.ezt
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/build/generator/templates/build_locale.ezt?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/build/generator/templates/build_locale.ezt (original)
+++ subversion/branches/fsfs-improvements/build/generator/templates/build_locale.ezt Tue Oct 15 22:57:03 2013
@@ -19,7 +19,7 @@
 @echo off
 @rem **************************************************************************
 cd ..\..\..\subversion\po
-mkdir ..\..\%1\mo
+if not exist ..\..\%1\mo mkdir ..\..\%1\mo
 set exitcode=0
 [for pofiles]echo Running msgfmt on [pofiles.po]...
 msgfmt.exe -c -o ..\..\%1\mo\[pofiles.mo] [pofiles.po]

Modified: subversion/branches/fsfs-improvements/build/win32/svn.rc
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/build/win32/svn.rc?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/build/win32/svn.rc (original)
+++ subversion/branches/fsfs-improvements/build/win32/svn.rc Tue Oct 15 22:57:03 2013
@@ -25,9 +25,17 @@
 #endif
 
 #include <winresrc.h>
-#include <apr_general.h>
+
+#define SVN_WIN32_RESOURCE_COMPILATION
 #include "../../subversion/include/svn_version.h"
 
+#ifndef APR_STRINGIFY
+/** Properly quote a value as a string in the C preprocessor */
+#define APR_STRINGIFY(n) APR_STRINGIFY_HELPER(n)
+/** Helper macro for APR_STRINGIFY */
+#define APR_STRINGIFY_HELPER(n) #n
+#endif
+
 #ifndef _DEBUG
 # if SVN_VER_REVISION == 0
 #  define SVN_FILEFLAGS VS_FF_PRERELEASE

Modified: subversion/branches/fsfs-improvements/configure.ac
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/configure.ac?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/configure.ac (original)
+++ subversion/branches/fsfs-improvements/configure.ac Tue Oct 15 22:57:03 2013
@@ -49,13 +49,11 @@ SVN_CONFIG_NICE(config.nice)
 # ==== Check for programs ====================================================
 
 # Look for a C compiler (before anything can set CFLAGS)
-CMAINTAINERFLAGS="$CUSERFLAGS"
 CUSERFLAGS="$CFLAGS"
 AC_PROG_CC
 SVN_CC_MODE_SETUP
 
 # Look for a C++ compiler (before anything can set CXXFLAGS)
-CXXMAINTAINERFLAGS="$CXXUSERFLAGS"
 CXXUSERFLAGS="$CXXFLAGS"
 AC_PROG_CXX
 SVN_CXX_MODE_SETUP
@@ -1030,7 +1028,7 @@ AS_HELP_STRING([--enable-maintainer-mode
         dnl but throw too many warnings in svn code, of too little importance,
         dnl to keep these enabled. Remove the "dnl" to do a run with these
         dnl switches enabled.
-        dnl ./configure CUSERFLAGS="-Wswitch-enum -Wswitch-default"
+        dnl ./configure CFLAGS="-Wswitch-enum -Wswitch-default"
 
         dnl Add each of the following flags only if the C compiler accepts it.
         CFLAGS_KEEP="$CFLAGS"
@@ -1046,7 +1044,7 @@ AS_HELP_STRING([--enable-maintainer-mode
         SVN_CFLAGS_ADD_IFELSE([-Wno-format-nonliteral])
         SVN_CFLAGS_ADD_IFELSE([-Wno-string-plus-int])
 
-        CMAINTAINERFLAGS="$CFLAGS $CMAINTAINERFLAGS"
+        CMAINTAINERFLAGS="$CFLAGS"
         CFLAGS="$CFLAGS_KEEP"
 
         dnl Add flags that all versions of GCC (should) support
@@ -1064,7 +1062,7 @@ AS_HELP_STRING([--enable-maintainer-mode
         SVN_CXXFLAGS_ADD_IFELSE([-Wshorten-64-to-32])
         SVN_CXXFLAGS_ADD_IFELSE([-Wno-system-headers])
 
-        CXXMAINTAINERFLAGS="$CXXFLAGS $CXXMAINTAINERFLAGS"
+        CXXMAINTAINERFLAGS="$CXXFLAGS"
         CXXFLAGS="$CXXFLAGS_KEEP"
 
         dnl Add flags that all versions of G++ (should) support

Modified: subversion/branches/fsfs-improvements/contrib/client-side/emacs/vc-svn.el
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/contrib/client-side/emacs/vc-svn.el?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/contrib/client-side/emacs/vc-svn.el (original)
+++ subversion/branches/fsfs-improvements/contrib/client-side/emacs/vc-svn.el Tue Oct 15 22:57:03 2013
@@ -162,7 +162,7 @@ See `vc-svn-parse-status' for a descript
     (let ((status (apply 'call-process vc-svn-program-name nil t nil
                          (append '("status" "-v")
                                  (if update '("-u") '())
-                                 (list file)))))
+                                 (list (concat file "@"))))))
       (goto-char (point-min))
       (if (not (equal 0 status)) ; not zerop; status can be a string
           ;; If you ask for the status of a file that isn't even in a
@@ -205,7 +205,8 @@ If the file is newly added, LOCAL is \"0
             (match-string 3)))
      ((looking-at "^I +") nil)       ;; An ignored file
      ((looking-at " \\{40\\}") nil)  ;; A file that is not in the wc nor svn?
-     (t (error "Couldn't parse output from `svn status -v'")))))
+     ;; Since svn status is run on every file, don't complain if it fails.
+     (t nil))))
 
 
 (defun vc-svn-parse-state-only ()

Modified: subversion/branches/fsfs-improvements/notes/ev2-callbacks-template.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/notes/ev2-callbacks-template.c?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/notes/ev2-callbacks-template.c (original)
+++ subversion/branches/fsfs-improvements/notes/ev2-callbacks-template.c Tue Oct 15 22:57:03 2013
@@ -155,19 +155,6 @@ move_cb(void *baton,
 }
 
 
-/* This implements svn_editor_cb_rotate_t */
-static svn_error_t *
-rotate_cb(void *baton,
-          const apr_array_header_t *relpaths,
-          const apr_array_header_t *revisions,
-          apr_pool_t *scratch_pool)
-{
-  struct edit_baton *eb = baton;
-
-  UNUSED(eb); SVN__NOT_IMPLEMENTED();
-}
-
-
 /* This implements svn_editor_cb_complete_t */
 static svn_error_t *
 complete_cb(void *baton,
@@ -208,7 +195,6 @@ make_editor(svn_editor_t **editor,
     delete_cb,
     copy_cb,
     move_cb,
-    rotate_cb,
     complete_cb,
     abort_cb
   };

Modified: subversion/branches/fsfs-improvements/notes/knobs
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/notes/knobs?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/notes/knobs (original)
+++ subversion/branches/fsfs-improvements/notes/knobs Tue Oct 15 22:57:03 2013
@@ -81,6 +81,7 @@ TEST16K_ADD
 
 SVNSYNC_UNSUPPORTED_STRIP_MERGEINFO
 SVNSYNC_UNSUPPORTED_MIGRATE_SVNMERGE
+SVN_CMDLINE_DISABLE_CRASH_HANDLER
 SVN_I_LOVE_CORRUPTED_WORKING_COPIES_SO_DISABLE_RELOCATE_VALIDATION
 SVN_I_LOVE_CORRUPTED_WORKING_COPIES_SO_DISABLE_SLEEP_FOR_TIMESTAMPS
 SVN_I_LOVE_PANGALACTIC_GARGLE_BLASTERS
@@ -459,34 +460,41 @@ SVN_I_LIKE_LATENCY_SO_IGNORE_HTTPV2
   Scope:     
   Purpose:   
 
-7.3 SVN_I_LOVE_CORRUPTED_WORKING_COPIES_SO_DISABLE_RELOCATE_VALIDATION
+7.3. SVN_CMDLINE_DISABLE_CRASH_HANDLER
+
+  Scope:     All command line executables. Windows specific.
+  Purpose:   Setting any value disables internal Subversion crash handler
+             for creating minidump and stack trace information on failure on
+             Windows.
+
+7.4 SVN_I_LOVE_CORRUPTED_WORKING_COPIES_SO_DISABLE_RELOCATE_VALIDATION
 
   Scope:     
   Purpose:   
 
-7.4 SVN_I_LOVE_CORRUPTED_WORKING_COPIES_SO_DISABLE_SLEEP_FOR_TIMESTAMPS
+7.5 SVN_I_LOVE_CORRUPTED_WORKING_COPIES_SO_DISABLE_SLEEP_FOR_TIMESTAMPS
 
   Scope:     
   Purpose:   
 
-7.5 SVN_I_LOVE_PANGALACTIC_GARGLE_BLASTERS
+7.6 SVN_I_LOVE_PANGALACTIC_GARGLE_BLASTERS
 
   Scope:     
   Purpose:   
 
-7.6 SVN_I_LIKE_LATENCY_SO_IGNORE_HTTPV2
+7.7 SVN_I_LIKE_LATENCY_SO_IGNORE_HTTPV2
 
   Scope:     libsvn_ra_neon and libsvn_ra_serf, if SVN_DEBUG
   Purpose:   A "yes" value causes the RA modules to ignore the server's
              advertisement of HTTPv2 protocol support (if any), effectively
              causing them to only speak our original HTTP protocol.
 
-7.7 SVN_SVNMUCC_IS_SVNSYITF
+7.8 SVN_SVNMUCC_IS_SVNSYITF
 
   Scope:     'make install-tools'
   Purpose:   Symlinks $prefix/bin/svnsyitf to $prefix/bin/svnmucc
 
-7.8 SVN_X_DOES_NOT_MARK_THE_SPOT
+7.9 SVN_X_DOES_NOT_MARK_THE_SPOT
 
   Scope:     svn_cache__t subsystem (used by FSFS, svnserve, etc)
   Purpose:   Disable the subsystem.  Requires -D SVN_DEBUG.

Modified: subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/ClientContext.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/ClientContext.cpp?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/ClientContext.cpp (original)
+++ subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/ClientContext.cpp Tue Oct 15 22:57:03 2013
@@ -70,12 +70,38 @@ ClientContext::ClientContext(jobject jsv
     m_context->conflict_baton2 = m_jctx;
 
     m_context->client_name = getClientName();
+
+    if (m_jtunnelcb)
+      {
+        m_context->check_tunnel_func = checkTunnel;
+        m_context->open_tunnel_func = openTunnel;
+        m_context->close_tunnel_func = closeTunnel;
+        m_context->tunnel_baton = m_jtunnelcb;
+      }
 }
 
 ClientContext::~ClientContext()
 {
 }
 
+void ClientContext::setTunnelCallback(jobject jtunnelcb)
+{
+  OperationContext::setTunnelCallback(jtunnelcb);
+  if (m_jtunnelcb)
+    {
+      m_context->check_tunnel_func = checkTunnel;
+      m_context->open_tunnel_func = openTunnel;
+      m_context->close_tunnel_func = closeTunnel;
+      m_context->tunnel_baton = m_jtunnelcb;
+    }
+  else
+    {
+      m_context->check_tunnel_func = NULL;
+      m_context->open_tunnel_func = NULL;
+      m_context->close_tunnel_func = NULL;
+      m_context->tunnel_baton = NULL;
+    }
+}
 
 /* Helper function to make sure that we don't keep dangling pointers in ctx.
    Note that this function might be called multiple times if getContext()

Modified: subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/ClientContext.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/ClientContext.h?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/ClientContext.h (original)
+++ subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/ClientContext.h Tue Oct 15 22:57:03 2013
@@ -64,6 +64,7 @@ class ClientContext : public OperationCo
  public:
   ClientContext(jobject jsvnclient, SVN::Pool &pool);
   virtual ~ClientContext();
+  virtual void setTunnelCallback(jobject jtunnelcb);
 
   svn_client_ctx_t *getContext(CommitMessage *message, SVN::Pool &in_pool);
 };

Modified: subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/CommitEditor.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/CommitEditor.cpp?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/CommitEditor.cpp (original)
+++ subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/CommitEditor.cpp Tue Oct 15 22:57:03 2013
@@ -200,57 +200,6 @@ build_checksum(jobject jchecksum, SVN::P
 
   return checksum;
 }
-
-// void
-// build_rotation(const apr_array_header_t **p_relpaths,
-//                const apr_array_header_t **p_revisions,
-//                const Iterator& iter, SVN::Pool& pool)
-// {
-//   *p_relpaths = *p_revisions = NULL;
-//
-//   static jfieldID relpath_fid = 0;
-//   static jfieldID revision_fid = 0;
-//
-//   JNIEnv *env = JNIUtil::getEnv();
-//   if (0 == relpath_fid || 0 == revision_fid)
-//     {
-//       jclass cls = env->FindClass(JAVA_PACKAGE"/ISVNEditor$RotatePair");
-//       if (JNIUtil::isJavaExceptionThrown())
-//         return;
-//
-//       relpath_fid = env->GetFieldID(cls, "relativePath", "Ljava/lang/String;");
-//       if (JNIUtil::isJavaExceptionThrown())
-//         return;
-//       revision_fid = env->GetFieldID(cls, "revision", "J");
-//       if (JNIUtil::isJavaExceptionThrown())
-//         return;
-//     }
-//
-//   apr_pool_t* result_pool = pool.getPool();
-//   apr_array_header_t* relpaths = apr_array_make(
-//       result_pool, 0, sizeof(const char*));
-//   apr_array_header_t* revisions = apr_array_make(
-//       result_pool, 0, sizeof(svn_revnum_t));
-//   while (iter.hasNext())
-//     {
-//       jobject jpair = iter.next();
-//       jobject jrelpath = env->GetObjectField(jpair, relpath_fid);
-//       if (JNIUtil::isJavaExceptionThrown())
-//         return;
-//       jlong jrevision = env->GetLongField(jpair, revision_fid);
-//       if (JNIUtil::isJavaExceptionThrown())
-//         return;
-//       JNIStringHolder relpath((jstring)jrelpath);
-//       if (JNIUtil::isJavaExceptionThrown())
-//         return;
-//
-//       APR_ARRAY_PUSH(relpaths, const char*) = relpath.pstrdup(result_pool);
-//       APR_ARRAY_PUSH(revisions, svn_revnum_t) = svn_revnum_t(jrevision);
-//     }
-//
-//   *p_relpaths = relpaths;
-//   *p_revisions = revisions;
-// }
 } // anonymous namespace
 
 
@@ -452,21 +401,6 @@ void CommitEditor::move(jstring jsrc_rel
                               svn_revnum_t(jreplaces_revision)),);
 }
 
-// void CommitEditor::rotate(jobject jelements)
-// {
-//   if (!m_valid) { throw_editor_inactive(); return; }
-//   SVN_JNI_ERR(m_session->m_context->checkCancel(m_session->m_context),);
-//
-//   SVN::Pool subPool(pool);
-//   const apr_array_header_t* relpaths;
-//   const apr_array_header_t* revisions;
-//   build_rotation(&relpaths, &revisions, jelements, subPool);
-//   if (JNIUtil::isJavaExceptionThrown())
-//     return;
-//
-//   SVN_JNI_ERR(svn_editor_rotate(m_editor, relpaths, revisions),);
-// }
-
 void CommitEditor::complete()
 {
   if (!m_valid) { throw_editor_inactive(); return; }

Propchange: subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/CommitEditor.cpp
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/CommitEditor.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/CommitEditor.h?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/CommitEditor.h (original)
+++ subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/CommitEditor.h Tue Oct 15 22:57:03 2013
@@ -81,7 +81,6 @@ public:
             jstring jdst_relpath, jlong jreplaces_revision);
   void move(jstring jsrc_relpath, jlong jsrc_revision,
             jstring jdst_relpath, jlong jreplaces_revision);
-  // void rotate(jobject jelements);
   void complete();
   void abort();
 

Propchange: subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/CommitEditor.h
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/CreateJ.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/CreateJ.cpp?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/CreateJ.cpp (original)
+++ subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/CreateJ.cpp Tue Oct 15 22:57:03 2013
@@ -778,7 +778,7 @@ CreateJ::ClientNotifyInformation(const s
                                "L"JAVA_PACKAGE"/types/NodeKind;"
                                "Ljava/lang/String;"
                                "L"JAVA_PACKAGE"/types/Lock;"
-                               "Ljava/lang/String;"
+                               "Ljava/lang/String;Ljava/util/List;"
                                "L"JAVA_PACKAGE"/ClientNotifyInformation$Status;"
                                "L"JAVA_PACKAGE"/ClientNotifyInformation$Status;"
                                "L"JAVA_PACKAGE"/ClientNotifyInformation$LockStatus;"
@@ -811,7 +811,9 @@ CreateJ::ClientNotifyInformation(const s
   if (JNIUtil::isJavaExceptionThrown())
     POP_AND_RETURN_NULL;
 
-  jstring jErr = JNIUtil::makeSVNErrorMessage(wcNotify->err);
+  jstring jErr;
+  jobject jErrStack;
+  JNIUtil::makeSVNErrorMessage(wcNotify->err, &jErr, &jErrStack);
   if (JNIUtil::isJavaExceptionThrown())
     POP_AND_RETURN_NULL;
 
@@ -858,7 +860,7 @@ CreateJ::ClientNotifyInformation(const s
   jlong jhunkModifiedLength = wcNotify->hunk_modified_length;
   jlong jhunkMatchedLine = wcNotify->hunk_matched_line;
   jint jhunkFuzz = static_cast<jint>(wcNotify->hunk_fuzz);
-  if (jhunkFuzz != wcNotify->hunk_fuzz)
+  if (jhunkFuzz < 0 || jhunkFuzz != wcNotify->hunk_fuzz)
     {
       env->ThrowNew(env->FindClass("java.lang.ArithmeticException"),
                     "Overflow converting C svn_linenum_t to Java int");
@@ -867,7 +869,7 @@ CreateJ::ClientNotifyInformation(const s
 
   // call the Java method
   jobject jInfo = env->NewObject(clazz, midCT, jPath, jAction,
-                                 jKind, jMimeType, jLock, jErr,
+                                 jKind, jMimeType, jLock, jErr, jErrStack,
                                  jContentState, jPropState, jLockState,
                                  (jlong) wcNotify->revision, jChangelistName,
                                  jMergeRange, jpathPrefix, jpropName,

Modified: subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/EditorProxy.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/EditorProxy.cpp?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/EditorProxy.cpp (original)
+++ subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/EditorProxy.cpp Tue Oct 15 22:57:03 2013
@@ -55,7 +55,7 @@ EditorProxy::EditorProxy(jobject jeditor
   static const svn_editor_cb_many_t editor_many_cb = {
     cb_add_directory, cb_add_file, cb_add_symlink, cb_add_absent,
     cb_alter_directory, cb_alter_file, cb_alter_symlink,
-    cb_delete, cb_copy, cb_move, cb_rotate,
+    cb_delete, cb_copy, cb_move,
     cb_complete, cb_abort
   };
 
@@ -473,15 +473,6 @@ EditorProxy::cb_move(void *baton,
 }
 
 svn_error_t*
-EditorProxy::cb_rotate(void*,
-                       const apr_array_header_t*,
-                       const apr_array_header_t*,
-                       apr_pool_t*)
-{
-  return svn_error_create(APR_ENOTIMPL, NULL, "EditorProxy::cb_rotate");
-}
-
-svn_error_t*
 EditorProxy::cb_complete(void *baton, apr_pool_t *scratch_pool)
 {
   //DEBUG:fprintf(stderr, "  (n) EditorProxy::cb_complete()\n");

Propchange: subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/EditorProxy.cpp
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/EditorProxy.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/EditorProxy.h?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/EditorProxy.h (original)
+++ subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/EditorProxy.h Tue Oct 15 22:57:03 2013
@@ -129,10 +129,6 @@ private:
                               const char *dst_relpath,
                               svn_revnum_t replaces_rev,
                               apr_pool_t *scratch_pool);
-  static svn_error_t* cb_rotate(void *baton,
-                                const apr_array_header_t *relpaths,
-                                const apr_array_header_t *revisions,
-                                apr_pool_t *scratch_pool);
   static svn_error_t* cb_complete(void *baton,
                                   apr_pool_t *scratch_pool);
   static svn_error_t* cb_abort(void *baton,

Propchange: subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/EditorProxy.h
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/InfoCallback.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/InfoCallback.h?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/InfoCallback.h (original)
+++ subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/InfoCallback.h Tue Oct 15 22:57:03 2013
@@ -30,8 +30,6 @@
 #include <jni.h>
 #include "svn_client.h"
 
-struct info_entry;
-
 /**
  * This class holds a Java callback object, which will receive every line of
  * the file for which the callback information is requested.

Propchange: subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/Iterator.cpp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/Iterator.h
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/JNIByteArray.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/JNIByteArray.cpp?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/JNIByteArray.cpp (original)
+++ subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/JNIByteArray.cpp Tue Oct 15 22:57:03 2013
@@ -32,30 +32,24 @@
  * @param flag that the underlying byte array reference should be deleted at
  *        destruction
  */
-JNIByteArray::JNIByteArray(jbyteArray jba, bool deleteByteArray)
-{
-  m_array = jba;
-  m_deleteByteArray = deleteByteArray;
-  if (jba != NULL)
-    {
-      // Get the bytes.
-      JNIEnv *env = JNIUtil::getEnv();
-      m_data = env->GetByteArrayElements(jba, NULL);
-    }
-  else
-    {
-      m_data = NULL;
-    }
-}
+JNIByteArray::JNIByteArray(jbyteArray jba,
+                           bool deleteByteArray,
+                           bool abortOnRelease)
+  : m_array(jba),
+    m_data(!jba ? NULL
+           : JNIUtil::getEnv()->GetByteArrayElements(jba, NULL)),
+    m_deleteByteArray(deleteByteArray),
+    m_abortOnRelease(abortOnRelease)
+{}
 
 JNIByteArray::~JNIByteArray()
 {
   if (m_array != NULL)
     {
       // Release the bytes
-      JNIUtil::getEnv()->ReleaseByteArrayElements(m_array,
-                                                  m_data,
-                                                  JNI_ABORT);
+      JNIUtil::getEnv()->ReleaseByteArrayElements(
+          m_array, m_data,
+          (m_abortOnRelease ? JNI_ABORT: JNI_COMMIT));
       if (m_deleteByteArray)
         // And if needed the byte array.
         JNIUtil::getEnv()->DeleteLocalRef(m_array);

Modified: subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/JNIByteArray.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/JNIByteArray.h?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/JNIByteArray.h (original)
+++ subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/JNIByteArray.h Tue Oct 15 22:57:03 2013
@@ -51,11 +51,18 @@ class JNIByteArray
    * at destruction.
    */
   bool m_deleteByteArray;
+
+  /**
+   * False if changes to the array should be committed to the Java VM.
+   */
+  bool m_abortOnRelease;
  public:
   bool isNull() const;
   const signed char *getBytes() const;
   int getLength();
-  JNIByteArray(jbyteArray jba, bool deleteByteArray = false);
+  JNIByteArray(jbyteArray jba,
+               bool deleteByteArray = false,
+               bool abortOnRelease = true);
   ~JNIByteArray();
 };
 

Modified: subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/JNIUtil.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/JNIUtil.cpp?rev=1532583&r1=1532582&r2=1532583&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/JNIUtil.cpp (original)
+++ subversion/branches/fsfs-improvements/subversion/bindings/javahl/native/JNIUtil.cpp Tue Oct 15 22:57:03 2013
@@ -24,6 +24,13 @@
  * @brief Implementation of the class JNIUtil
  */
 
+/* Include apr.h first, or INT64_C won't be defined properly on some C99
+   compilers, when other headers include <stdint.h> before defining some
+   macros.
+
+   See apr.h for the ugly details */
+#include <apr.h>
+
 #include "JNIUtil.h"
 #include "Array.h"
 
@@ -35,6 +42,8 @@
 #include <apr_tables.h>
 #include <apr_general.h>
 #include <apr_lib.h>
+#include <apr_file_info.h>
+#include <apr_time.h>
 
 #include "svn_pools.h"
 #include "svn_fs.h"
@@ -44,7 +53,7 @@
 #include "svn_dso.h"
 #include "svn_path.h"
 #include "svn_cache_config.h"
-#include <apr_file_info.h>
+#include "private/svn_atomic.h"
 #include "svn_private_config.h"
 #ifdef WIN32
 /* FIXME: We're using an internal APR header here, which means we
@@ -68,6 +77,7 @@ apr_pool_t *JNIUtil::g_pool = NULL;
 std::list<SVNBase*> JNIUtil::g_finalizedObjects;
 JNIMutex *JNIUtil::g_finalizedObjectsMutex = NULL;
 JNIMutex *JNIUtil::g_logMutex = NULL;
+JNIMutex *JNIUtil::g_configMutex = NULL;
 bool JNIUtil::g_initException;
 bool JNIUtil::g_inInit;
 JNIEnv *JNIUtil::g_initEnv;
@@ -104,6 +114,93 @@ bool JNIUtil::JNIInit(JNIEnv *env)
   return true;
 }
 
+namespace
+{
+struct GlobalInitGuard
+{
+  enum InitState
+    {
+      state_null,
+      state_init,
+      state_done,
+      state_error
+    };
+
+  GlobalInitGuard()
+    : m_finished(false),
+      m_state(InitState(svn_atomic_cas(&m_global_state,
+                                       state_init, state_null)))
+    {
+      switch (m_state)
+        {
+        case state_null:
+          // This thread won the initialization contest.
+          break;
+
+        case state_done:
+          // The library is already initialized.
+          break;
+
+        case state_init:
+          // Another thread is currently initializing the
+          // library. Spin and wait for it to finish, with exponential
+          // backoff, but no longer than half a second.
+          for (unsigned shift = 0;
+               m_state == state_init && shift < 8;
+               ++shift)
+            {
+              apr_sleep((APR_USEC_PER_SEC / 1000) << shift);
+              m_state = InitState(svn_atomic_cas(&m_global_state,
+                                                 state_null, state_null));
+            }
+          if (m_state == state_init)
+            // The initialization didn't complete in half a second,
+            // which probably implies a thread crash or a deadlock.
+            m_state = state_error;
+          break;
+
+        default:
+          // Error state, or unknown state. In any case, do not continue.
+          m_state = state_error;
+        }
+    }
+
+  ~GlobalInitGuard()
+    {
+      // Signal the end of the library intialization if we're the
+      // initializing thread.
+      if (m_finished && m_state == state_null)
+        {
+          SVN_ERR_ASSERT_NO_RETURN(
+              state_init == svn_atomic_cas(&m_global_state,
+                                           state_done, state_init));
+        }
+    }
+
+  bool done() const
+    {
+      return (m_state == state_done);
+    }
+
+  bool error() const
+    {
+      return (m_state == state_error);
+    }
+
+  void finish()
+    {
+      m_finished = true;
+    }
+
+private:
+  bool m_finished;
+  InitState m_state;
+  static volatile svn_atomic_t m_global_state;
+};
+volatile svn_atomic_t
+GlobalInitGuard::m_global_state = GlobalInitGuard::state_null;
+} // anonymous namespace
+
 /**
  * Initialize the environment for all requests.
  * @param env   the JNI environment for this request
@@ -111,27 +208,19 @@ bool JNIUtil::JNIInit(JNIEnv *env)
 bool JNIUtil::JNIGlobalInit(JNIEnv *env)
 {
   // This method has to be run only once during the run a program.
-  static bool run = false;
-  svn_error_t *err;
-  if (run) // already run
+  GlobalInitGuard guard;
+  if (guard.done())
     return true;
-
-  run = true;
-
-  // Do not run this part more than one time.  This leaves a small
-  // time window when two threads create their first SVNClient and
-  // SVNAdmin at the same time, but I do not see a better option
-  // without APR already initialized
-  if (g_inInit)
+  else if (guard.error())
     return false;
 
   g_inInit = true;
   g_initEnv = env;
 
+  svn_error_t *err;
   apr_status_t status;
 
 
-
   /* Initialize the APR subsystem, and register an atexit() function
    * to Uninitialize that subsystem at program exit. */
   status = apr_initialize();
@@ -268,6 +357,10 @@ bool JNIUtil::JNIGlobalInit(JNIEnv *env)
   if (isExceptionThrown())
     return false;
 
+  g_configMutex = new JNIMutex(g_pool);
+  if (isExceptionThrown())
+    return false;
+
   // initialized the thread local storage
   if (!JNIThreadData::initThreadData())
     return false;
@@ -278,6 +371,8 @@ bool JNIUtil::JNIGlobalInit(JNIEnv *env)
 
   g_initEnv = NULL;
   g_inInit = false;
+
+  guard.finish();
   return true;
 }
 
@@ -308,16 +403,6 @@ void JNIUtil::raiseThrowable(const char 
   env->DeleteLocalRef(clazz);
 }
 
-jstring JNIUtil::makeSVNErrorMessage(svn_error_t *err)
-{
-  if (err == NULL)
-    return NULL;
-  std::string buffer;
-  assembleErrorMessage(err, 0, APR_SUCCESS, buffer);
-  jstring jmessage = makeJString(buffer.c_str());
-  return jmessage;
-}
-
 void
 JNIUtil::throwNativeException(const char *className, const char *msg,
                               const char *source, int aprErr)
@@ -419,8 +504,91 @@ JNIUtil::putErrorsInTrace(svn_error_t *e
 }
 
 namespace {
-jobject construct_Jmessage_stack(
-    const JNIUtil::error_message_stack_t& message_stack)
+struct MessageStackItem
+{
+  apr_status_t m_code;
+  std::string m_message;
+  bool m_generic;
+
+  MessageStackItem(apr_status_t code, const char* message,
+                   bool generic = false)
+    : m_code(code),
+      m_message(message),
+      m_generic(generic)
+    {}
+};
+typedef std::vector<MessageStackItem> ErrorMessageStack;
+
+/*
+ * Build the error message from the svn error into buffer.  This
+ * method iterates through all the chained errors
+ *
+ * @param err               the subversion error
+ * @param buffer            the buffer where the formated error message will
+ *                          be stored
+ * @return An array of error codes and messages
+ */
+ErrorMessageStack assemble_error_message(
+    svn_error_t *err, std::string &result)
+{
+  // buffer for a single error message
+  char errbuf[1024];
+  apr_status_t parent_apr_err = 0;
+  ErrorMessageStack message_stack;
+
+  /* Pretty-print the error */
+  /* Note: we can also log errors here someday. */
+
+  for (int depth = 0; err;
+       ++depth, parent_apr_err = err->apr_err, err = err->child)
+    {
+      /* When we're recursing, don't repeat the top-level message if its
+       * the same as before. */
+      if (depth == 0 || err->apr_err != parent_apr_err)
+        {
+          const char *message;
+          /* Is this a Subversion-specific error code? */
+          if ((err->apr_err > APR_OS_START_USEERR)
+              && (err->apr_err <= APR_OS_START_CANONERR))
+            message = svn_strerror(err->apr_err, errbuf, sizeof(errbuf));
+          /* Otherwise, this must be an APR error code. */
+          else
+            {
+              /* Messages coming from apr_strerror are in the native
+                 encoding, it's a good idea to convert them to UTF-8. */
+              apr_strerror(err->apr_err, errbuf, sizeof(errbuf));
+              svn_error_t* utf8_err =
+                svn_utf_cstring_to_utf8(&message, errbuf, err->pool);
+              if (utf8_err)
+                {
+                  /* Use fuzzy transliteration instead. */
+                  svn_error_clear(utf8_err);
+                  message = svn_utf_cstring_from_utf8_fuzzy(errbuf, err->pool);
+                }
+            }
+
+          message_stack.push_back(
+              MessageStackItem(err->apr_err, message, true));
+        }
+      if (err->message)
+        {
+          message_stack.push_back(
+              MessageStackItem(err->apr_err, err->message));
+        }
+    }
+
+  for (ErrorMessageStack::const_iterator it = message_stack.begin();
+       it != message_stack.end(); ++it)
+    {
+      if (!it->m_generic)
+        result += "svn: ";
+      result += it->m_message;
+      result += '\n';
+    }
+  return message_stack;
+}
+
+jobject construct_Jmessage_stack(const ErrorMessageStack& message_stack)
 {
   JNIEnv *env = JNIUtil::getEnv();
   env->PushLocalFrame(LOCAL_FRAME_SIZE);
@@ -449,8 +617,7 @@ jobject construct_Jmessage_stack(
   if (JNIUtil::isJavaExceptionThrown())
     POP_AND_RETURN_NULL;
 
-  for (JNIUtil::error_message_stack_t::const_iterator
-         it = message_stack.begin();
+  for (ErrorMessageStack::const_iterator it = message_stack.begin();
        it != message_stack.end(); ++it)
     {
       jobject jmessage = JNIUtil::makeJString(it->m_message.c_str());
@@ -472,12 +639,37 @@ jobject construct_Jmessage_stack(
 }
 } // anonymous namespace
 
-void JNIUtil::handleSVNError(svn_error_t *err)
-{
-  std::string msg;
-  error_message_stack_t message_stack;
-  assembleErrorMessage(svn_error_purge_tracing(err),
-                       0, APR_SUCCESS, msg, &message_stack);
+std::string JNIUtil::makeSVNErrorMessage(svn_error_t *err,
+                                         jstring *jerror_message,
+                                         jobject *jmessage_stack)
+{
+  if (jerror_message)
+    *jerror_message = NULL;
+  if (jmessage_stack)
+    *jmessage_stack = NULL;
+
+  std::string buffer;
+  err = svn_error_purge_tracing(err);
+  if (err == NULL || err->apr_err == 0
+      || !(jerror_message || jmessage_stack))
+  return buffer;
+
+  ErrorMessageStack message_stack = assemble_error_message(err, buffer);
+  if (jerror_message)
+    *jerror_message = makeJString(buffer.c_str());
+  if (jmessage_stack)
+    *jmessage_stack = construct_Jmessage_stack(message_stack);
+  return buffer;
+}
+
+void JNIUtil::wrappedHandleSVNError(svn_error_t *err)
+{
+  jstring jmessage;
+  jobject jstack;
+  std::string msg = makeSVNErrorMessage(err, &jmessage, &jstack);
+  if (JNIUtil::isJavaExceptionThrown())
+    return;
+
   const char *source = NULL;
 #ifdef SVN_DEBUG
 #ifndef SVN_ERR__TRACING
@@ -521,17 +713,10 @@ void JNIUtil::handleSVNError(svn_error_t
   if (isJavaExceptionThrown())
     POP_AND_RETURN_NOTHING();
 
-  jstring jmessage = makeJString(msg.c_str());
-  if (isJavaExceptionThrown())
-    POP_AND_RETURN_NOTHING();
   jstring jsource = makeJString(source);
   if (isJavaExceptionThrown())
     POP_AND_RETURN_NOTHING();
 
-  jobject jmessageStack = construct_Jmessage_stack(message_stack);
-  if (isJavaExceptionThrown())
-    POP_AND_RETURN_NOTHING();
-
   jmethodID mid = env->GetMethodID(clazz, "<init>",
                                    "(Ljava/lang/String;"
                                    "Ljava/lang/String;I"
@@ -539,7 +724,7 @@ void JNIUtil::handleSVNError(svn_error_t
   if (isJavaExceptionThrown())
     POP_AND_RETURN_NOTHING();
   jobject nativeException = env->NewObject(clazz, mid, jmessage, jsource,
-                                           jint(err->apr_err), jmessageStack);
+                                           jint(err->apr_err), jstack);
   if (isJavaExceptionThrown())
     POP_AND_RETURN_NOTHING();
 
@@ -575,7 +760,7 @@ void JNIUtil::handleSVNError(svn_error_t
     POP_AND_RETURN_NOTHING();
 
   const jsize stSize = static_cast<jsize>(newStackTrace.size());
-  if (stSize != newStackTrace.size())
+  if (stSize < 0 || stSize != newStackTrace.size())
     {
       env->ThrowNew(env->FindClass("java.lang.ArithmeticException"),
                     "Overflow converting C size_t to JNI jsize");
@@ -608,7 +793,16 @@ void JNIUtil::handleSVNError(svn_error_t
 #endif
 
   env->Throw(static_cast<jthrowable>(env->PopLocalFrame(nativeException)));
+}
 
+void JNIUtil::handleSVNError(svn_error_t *err)
+{
+  try {
+    wrappedHandleSVNError(err);
+  } catch (...) {
+    svn_error_clear(err);
+    throw;
+  }
   svn_error_clear(err);
 }
 
@@ -706,25 +900,45 @@ bool JNIUtil::isJavaExceptionThrown()
 }
 
 namespace {
+const char* known_exception_to_cstring(apr_pool_t* pool)
+{
+  JNIEnv *env = JNIUtil::getEnv();
+  jthrowable t = env->ExceptionOccurred();
+  jclass cls = env->GetObjectClass(t);
+
+  jstring jclass_name;
+  {
+    jmethodID mid = env->GetMethodID(cls, "getClass", "()Ljava/lang/Class;");
+    jobject clsobj = env->CallObjectMethod(t, mid);
+    jclass basecls = env->GetObjectClass(clsobj);
+    mid = env->GetMethodID(basecls, "getName", "()Ljava/lang/String;");
+    jclass_name = (jstring) env->CallObjectMethod(clsobj, mid);
+  }
+
+  jstring jmessage;
+  {
+    jmethodID mid = env->GetMethodID(cls, "getMessage",
+                                     "()Ljava/lang/String;");
+    jmessage = (jstring) env->CallObjectMethod(t, mid);
+  }
+
+  JNIStringHolder class_name(jclass_name);
+  if (jmessage)
+    {
+      JNIStringHolder message(jmessage);
+      return apr_pstrcat(pool, class_name.c_str(), ": ", message.c_str(), NULL);
+    }
+  else
+    return class_name.pstrdup(pool);
+  // ### Conditionally add t.printStackTrace() to msg?
+}
+
 const char* exception_to_cstring(apr_pool_t* pool)
 {
   const char *msg;
-  JNIEnv *env = JNIUtil::getEnv();
-  if (env->ExceptionCheck())
+  if (JNIUtil::getEnv()->ExceptionCheck())
     {
-      jthrowable t = env->ExceptionOccurred();
-      static jmethodID getMessage = 0;
-      if (getMessage == 0)
-        {
-          jclass clazz = env->FindClass("java/lang/Throwable");
-          getMessage = env->GetMethodID(clazz, "getMessage",
-                                        "()Ljava/lang/String;");
-          env->DeleteLocalRef(clazz);
-        }
-      jstring jmsg = (jstring) env->CallObjectMethod(t, getMessage);
-      JNIStringHolder tmp(jmsg);
-      msg = tmp.pstrdup(pool);
-      // ### Conditionally add t.printStackTrace() to msg?
+      msg = known_exception_to_cstring(pool);
     }
   else
     {
@@ -746,8 +960,11 @@ JNIUtil::checkJavaException(apr_status_t
   if (!getEnv()->ExceptionCheck())
     return SVN_NO_ERROR;
   svn_error_t* err = svn_error_create(errorcode, NULL, NULL);
-  err->message = apr_psprintf(err->pool, _("Java exception: %s"),
-                              exception_to_cstring(err->pool));
+  const char* const msg = known_exception_to_cstring(err->pool);
+  if (msg)
+    err->message = apr_psprintf(err->pool, _("Java exception: %s"), msg);
+  else
+    err->message = _("Java exception");
   return err;
 }
 
@@ -949,71 +1166,6 @@ jbyteArray JNIUtil::makeJByteArray(const
 }
 
 /**
- * Build the error message from the svn error into buffer.  This
- * method calls itselft recursively for all the chained errors
- *
- * @param err               the subversion error
- * @param depth             the depth of the call, used for formating
- * @param parent_apr_err    the apr of the previous level, used for formating
- * @param buffer            the buffer where the formated error message will
- *                          be stored
- * @param message_stack     an array of error codes and messages
- */
-void JNIUtil::assembleErrorMessage(svn_error_t *err, int depth,
-                                   apr_status_t parent_apr_err,
-                                   std::string &buffer,
-                                   error_message_stack_t* message_stack)
-{
-  // buffer for a single error message
-  char errbuf[1024];
-
-  /* Pretty-print the error */
-  /* Note: we can also log errors here someday. */
-
-  /* When we're recursing, don't repeat the top-level message if its
-   * the same as before. */
-  if (depth == 0 || err->apr_err != parent_apr_err)
-    {
-      const char *message;
-      /* Is this a Subversion-specific error code? */
-      if ((err->apr_err > APR_OS_START_USEERR)
-          && (err->apr_err <= APR_OS_START_CANONERR))
-        message = svn_strerror(err->apr_err, errbuf, sizeof(errbuf));
-      /* Otherwise, this must be an APR error code. */
-      else
-        {
-          /* Messages coming from apr_strerror are in the native
-             encoding, it's a good idea to convert them to UTF-8. */
-          apr_strerror(err->apr_err, errbuf, sizeof(errbuf));
-          svn_error_t* utf8_err =
-            svn_utf_cstring_to_utf8(&message, errbuf, err->pool);
-          if (utf8_err)
-            {
-              /* Use fuzzy transliteration instead. */
-              svn_error_clear(utf8_err);
-              message = svn_utf_cstring_from_utf8_fuzzy(errbuf, err->pool);
-            }
-        }
-
-      if (message_stack)
-        message_stack->push_back(
-            message_stack_item(err->apr_err, message, true));
-      buffer.append(message);
-      buffer.append("\n");
-    }
-  if (err->message)
-    {
-      if (message_stack)
-        message_stack->push_back(
-            message_stack_item(err->apr_err, err->message));
-      buffer.append(_("svn: ")).append(err->message).append("\n");
-    }
-
-  if (err->child)
-    assembleErrorMessage(err->child, depth + 1, err->apr_err, buffer);
-}
-
-/**
  * Throw a Java NullPointerException.  Used when input parameters
  * which should not be null are that.
  *