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.
*