svn commit: r309354 - in vendor/subversion/dist: . subversion/include subversion/include/private subversion/libsvn_client subversion/libsvn_fs_fs subversion/libsvn_fs_x subversion/libsvn_ra_serf su...
Peter Wemm
peter at FreeBSD.org
Thu Dec 1 07:45:08 UTC 2016
Author: peter
Date: Thu Dec 1 07:45:05 2016
New Revision: 309354
URL: https://svnweb.freebsd.org/changeset/base/309354
Log:
Import subversion-1.9.5.
This includes a security fix for a component that we do not build, and
two potentially useful client side fixes for reintegrate merges and tree
conflict handling. See CHANGES for full details.
Modified:
vendor/subversion/dist/CHANGES
vendor/subversion/dist/README
vendor/subversion/dist/build-outputs.mk
vendor/subversion/dist/configure
vendor/subversion/dist/configure.ac
vendor/subversion/dist/get-deps.sh
vendor/subversion/dist/subversion/include/private/svn_sqlite.h
vendor/subversion/dist/subversion/include/svn_version.h
vendor/subversion/dist/subversion/libsvn_client/merge.c
vendor/subversion/dist/subversion/libsvn_fs_fs/cached_data.c
vendor/subversion/dist/subversion/libsvn_fs_fs/caching.c
vendor/subversion/dist/subversion/libsvn_fs_fs/fs.c
vendor/subversion/dist/subversion/libsvn_fs_fs/fs_fs.c
vendor/subversion/dist/subversion/libsvn_fs_fs/low_level.c
vendor/subversion/dist/subversion/libsvn_fs_fs/pack.c
vendor/subversion/dist/subversion/libsvn_fs_fs/pack.h
vendor/subversion/dist/subversion/libsvn_fs_fs/rep-cache-db.h
vendor/subversion/dist/subversion/libsvn_fs_fs/rep-cache.c
vendor/subversion/dist/subversion/libsvn_fs_fs/rep-cache.h
vendor/subversion/dist/subversion/libsvn_fs_fs/transaction.c
vendor/subversion/dist/subversion/libsvn_fs_fs/tree.c
vendor/subversion/dist/subversion/libsvn_fs_x/rep-cache-db.h
vendor/subversion/dist/subversion/libsvn_ra_serf/xml.c
vendor/subversion/dist/subversion/libsvn_repos/reporter.c
vendor/subversion/dist/subversion/libsvn_repos/repos.c
vendor/subversion/dist/subversion/libsvn_subr/config_file.c
vendor/subversion/dist/subversion/libsvn_subr/deprecated.c
vendor/subversion/dist/subversion/libsvn_subr/gpg_agent.c
vendor/subversion/dist/subversion/libsvn_subr/internal_statements.h
vendor/subversion/dist/subversion/libsvn_subr/sqlite.c
vendor/subversion/dist/subversion/libsvn_subr/sysinfo.c
vendor/subversion/dist/subversion/libsvn_subr/win32_crashrpt.c
vendor/subversion/dist/subversion/libsvn_subr/xml.c
vendor/subversion/dist/subversion/libsvn_wc/conflicts.c
vendor/subversion/dist/subversion/libsvn_wc/update_editor.c
vendor/subversion/dist/subversion/libsvn_wc/wc-checks.h
vendor/subversion/dist/subversion/libsvn_wc/wc-metadata.h
vendor/subversion/dist/subversion/libsvn_wc/wc-queries.h
vendor/subversion/dist/subversion/svn/info-cmd.c
vendor/subversion/dist/subversion/svn/merge-cmd.c
vendor/subversion/dist/subversion/svnserve/serve.c
Modified: vendor/subversion/dist/CHANGES
==============================================================================
--- vendor/subversion/dist/CHANGES Thu Dec 1 05:37:29 2016 (r309353)
+++ vendor/subversion/dist/CHANGES Thu Dec 1 07:45:05 2016 (r309354)
@@ -1,3 +1,54 @@
+Version 1.9.5
+(29 Nov 2016, from /branches/1.9.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.9.5
+
+ User-visible changes:
+ - Client-side bugfixes:
+ * fix accessing non-existent paths during reintegrate merge (r1766699 et al)
+ * fix handling of newly secured subdirectories in working copy (r1724448)
+ * info: remove trailing whitespace in --show-item=revision (issue #4660)
+ * fix recording wrong revisions for tree conflicts (r1734106)
+ * gpg-agent: improve discovery of gpg-agent sockets (r1766327)
+ * gpg-agent: fix file descriptor leak (r1766323)
+ * resolve: fix --accept=mine-full for binary files (issue #4647)
+ * merge: fix possible crash (issue #4652)
+ * resolve: fix possible crash (r1748514)
+ * fix potential crash in Win32 crash reporter (r1663253 et al)
+
+ - Server-side bugfixes:
+ * fsfs: fix "offset too large" error during pack (issue #4657)
+ * svnserve: enable hook script environments (r1769152)
+ * fsfs: fix possible data reconstruction error (issue #4658)
+ * fix source of spurious 'incoming edit' tree conflicts (r1770108)
+ * fsfs: improve caching for large directories (r1721285)
+ * fsfs: fix crash when encountering all-zero checksums (r1759686)
+ * fsfs: fix potential source of repository corruptions (r1756266)
+ * mod_dav_svn: fix excessive memory usage with mod_headers/mod_deflate
+ (issue #3084)
+ * mod_dav_svn: reduce memory usage during GET requests (r1757529 et al)
+ * fsfs: fix unexpected "database is locked" errors (r1741096 et al)
+ * fsfs: fix opening old repositories without db/format files (r1720015)
+
+ - Client-side and server-side bugfixes:
+ * fix possible crash when reading invalid configuration files (r1715777)
+
+ - Bindings bugfixes:
+ * swig-pl: do not corrupt "{DATE}" revision variable (r1767768)
+ * javahl: fix temporary accepting SSL server certificates (r1764851)
+ * swig-pl: fix possible stack corruption (r1683266, r1683267)
+
+ Developer-visible changes:
+ - General:
+ * add zlib discovery through pkg-config (issue #4655)
+ * fix potential build issue with invalid SVN_LOCALE_DIR (issue #4653)
+ * ruby: fix test failures with ruby >= 2.2 (r1766621)
+ * fix link error with --disable-keychain on OS X (r1765385)
+ * swig: enable building with SWIG >= 3.0.6 (r1721488 et al)
+ * swig: fix building with -Wdate-time in $CPPFLAGS (r1722164)
+ * update serf download URI in build scripts (r1700130 et al)
+ * raise minimal httpd version from 2.0 to 2.2 (r1754193)
+
+
Version 1.9.4
(28 Apr 2016, from /branches/1.9.x)
http://svn.apache.org/repos/asf/subversion/tags/1.9.4
@@ -14,6 +65,8 @@ http://svn.apache.org/repos/asf/subversi
* ra_serf: fix deleting directories with many files (issue #4557)
- Server-side bugfixes:
+ * mod_authz_svn: fix crash in COPY/MOVE authorization check (CVE-2016-2168)
+ * svnserve/sasl: fix authenticating users with wrong realm (CVE-2016-2167)
* improve documentation for AuthzSVNGroupsFile and groups-db (r1730856)
* fsfs: reduce peak memory usage when listing large directories (r1725180)
* fsfs: fix a rare source of incomplete dump files and reports (r1717876)
@@ -31,8 +84,7 @@ http://svn.apache.org/repos/asf/subversi
* fix ruby test suite to work with test-unit gem (r1714790)
* allow building against KDE4 without conflict with KDE5 (r1734926)
* fix update_tests.py#76 with SVNPathAuthz short_circuit (r1736432)
- * build system tweaks:
- * tweak how symbolic error names in maintainer mode (r1735179)
+ * tweak getting symbolic error names in maintainer mode (r1735179)
* fix inconsistent behavior of inherited property API (r1717874 et al)
- API changes:
@@ -882,12 +934,44 @@ http://svn.apache.org/repos/asf/subversi
* javahl: allow compiling with a C++11 compiler (r1684412)
+Version 1.8.17
+(29 Nov 2016, from /branches/1.8.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.8.17
+
+ User-visible changes:
+ - Client-side bugfixes:
+ * fix handling of newly secured subdirectories in working copy (r1724448)
+ * ra_serf: fix deleting directories with many files (issue #4557)
+ * svnlook: properly remove tempfiles on diff errors (r1711346)
+ * gpg-agent: properly handle passwords with percent characters (issue #4611)
+ * merge: fix crash when merging to a local add (r1702299 et al)
+
+ - Server-side bugfixes:
+ * fsfs: fix possible data reconstruction error (issue #4658)
+
+ - Client-side and server-side bugfixes:
+ * fix potential memory access bugs (r1722860 et al)
+
+ - Bindings bugfixes:
+ * javahl: fix temporary accepting SSL server certificates (r1764851)
+ * swig-pl: do not corrupt "{DATE}" revision variable (r1767768)
+ * swig-pl: fix possible stack corruption (r1683266)
+
+ Developer-visible changes:
+ - General:
+ * fix inconsistent behavior of inherited property API (r1717875, r1717878)
+ * fix patch filter invocation in svn_client_patch() (r1706783)
+ * fix potential build issue with invalid SVN_LOCALE_DIR (issue #4653)
+
+
Version 1.8.16
(28 Apr 2016, from /branches/1.8.x)
http://svn.apache.org/repos/asf/subversion/tags/1.8.16
User-visible changes:
- Server-side bugfixes:
+ * mod_authz_svn: fix crash in COPY/MOVE authorization check (CVE-2016-2168)
+ * svnserve/sasl: fix authenticating users with wrong realm (CVE-2016-2167)
* mod_authz_svn: fix authz with mod_auth_kerb/mod_auth_ntlm (issue #4602)
* dump: don't write broken dump files in some ambiguously encoded fsfs
repositories (issue #4554)
@@ -1641,7 +1725,7 @@ http://svn.apache.org/repos/asf/subversi
* fix bug in mergeinfo recording during foreign-repos merge (r1430310)
* fix spurious merge conflicts for binary files with keywords (issue #4221)
* fix patching symlinks with 'svn patch' (issue #4273)
- * make 'svn switch' refresh lock information (issue #3376)
+ * make 'svn switch' refresh lock information (issue #3378)
* fix 'svn diff' output doesn't apply as patch without fuzz (issue #3362)
* fix mergeinfo recording for multiple-revision-range merge (issue #4306)
* fix diffs shown by 'show-diff' conflict prompt option (r1438879)
Modified: vendor/subversion/dist/README
==============================================================================
--- vendor/subversion/dist/README Thu Dec 1 05:37:29 2016 (r309353)
+++ vendor/subversion/dist/README Thu Dec 1 07:45:05 2016 (r309354)
@@ -2,7 +2,7 @@
Subversion, a version control system.
=====================================
-$LastChangedDate: 2012-02-10 14:58:53 +0000 (Fri, 10 Feb 2012) $
+$LastChangedDate: 2016-05-31 16:08:20 +0000 (Tue, 31 May 2016) $
Contents:
@@ -36,10 +36,10 @@ II. DOCUMENTATION
It is written in DocBook XML, and the sources can be found at:
- http://svnbook.googlecode.com/svn/trunk/
+ http://svn.code.sf.net/p/svnbook/source/trunk/
If you wish to build the documentation from source, read the
- src/en/README file within the book source.
+ en/README file within the book source.
Modified: vendor/subversion/dist/build-outputs.mk
==============================================================================
--- vendor/subversion/dist/build-outputs.mk Thu Dec 1 05:37:29 2016 (r309353)
+++ vendor/subversion/dist/build-outputs.mk Thu Dec 1 07:45:05 2016 (r309354)
@@ -3351,7 +3351,7 @@ subversion/tests/libsvn_diff/diff-diff3-
subversion/tests/libsvn_diff/parse-diff-test.lo: subversion/tests/libsvn_diff/parse-diff-test.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/tests/svn_test.h
-subversion/tests/libsvn_fs/fs-test.lo: subversion/tests/libsvn_fs/fs-test.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mutex.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_delta/delta.h subversion/libsvn_fs/fs-loader.h subversion/s
vn_private_config.h subversion/tests/svn_test.h subversion/tests/svn_test_fs.h
+subversion/tests/libsvn_fs/fs-test.lo: subversion/tests/libsvn_fs/fs-test.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mutex.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.
h subversion/libsvn_delta/delta.h subversion/libsvn_fs/fs-loader.h subversion/svn_private_config.h subversion/tests/svn_test.h subversion/tests/svn_test_fs.h
subversion/tests/libsvn_fs/locks-test.lo: subversion/tests/libsvn_fs/locks-test.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/tests/svn_test.h subversion/tests/svn_test_fs.h
@@ -3363,7 +3363,7 @@ subversion/tests/libsvn_fs_base/strings-
subversion/tests/libsvn_fs_fs/fs-fs-fuzzy-test.lo: subversion/tests/libsvn_fs_fs/fs-fs-fuzzy-test.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_fs_private.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_mutex.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_string_private.h subversion/include/private/svn_token.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_poo
ls.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/rev_file.h subversion/tests/svn_test.h subversion/tests/svn_test_fs.h
-subversion/tests/libsvn_fs_fs/fs-fs-pack-test.lo: subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_fs_private.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_mutex.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_string_private.h subversion/include/private/svn_token.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools
.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/low_level.h subversion/libsvn_fs_fs/util.h subversion/tests/svn_test.h subversion/tests/svn_test_fs.h
+subversion/tests/libsvn_fs_fs/fs-fs-pack-test.lo: subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_fs_private.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_mutex.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_string_private.h subversion/include/private/svn_token.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools
.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/low_level.h subversion/libsvn_fs_fs/pack.h subversion/libsvn_fs_fs/util.h subversion/tests/svn_test.h subversion/tests/svn_test_fs.h
subversion/tests/libsvn_fs_fs/fs-fs-private-test.lo: subversion/tests/libsvn_fs_fs/fs-fs-private-test.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_fs_private.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_mutex.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subver
sion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/index.h subversion/libsvn_fs_fs/rev_file.h subversion/tests/svn_test.h subversion/tests/svn_test_fs.h
Modified: vendor/subversion/dist/configure
==============================================================================
--- vendor/subversion/dist/configure Thu Dec 1 05:37:29 2016 (r309353)
+++ vendor/subversion/dist/configure Thu Dec 1 07:45:05 2016 (r309354)
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for subversion 1.9.4.
+# Generated by GNU Autoconf 2.69 for subversion 1.9.5.
#
# Report bugs to <http://subversion.apache.org/>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='subversion'
PACKAGE_TARNAME='subversion'
-PACKAGE_VERSION='1.9.4'
-PACKAGE_STRING='subversion 1.9.4'
+PACKAGE_VERSION='1.9.5'
+PACKAGE_STRING='subversion 1.9.5'
PACKAGE_BUGREPORT='http://subversion.apache.org/'
PACKAGE_URL=''
@@ -1471,7 +1471,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures subversion 1.9.4 to adapt to many kinds of systems.
+\`configure' configures subversion 1.9.5 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1537,7 +1537,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of subversion 1.9.4:";;
+ short | recursive ) echo "Configuration of subversion 1.9.5:";;
esac
cat <<\_ACEOF
@@ -1751,7 +1751,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-subversion configure 1.9.4
+subversion configure 1.9.5
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2295,7 +2295,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by subversion $as_me 1.9.4, which was
+It was created by subversion $as_me 1.9.5, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2675,8 +2675,8 @@ ac_configure="$SHELL $ac_aux_dir/configu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: Configuring Subversion 1.9.4" >&5
-$as_echo "$as_me: Configuring Subversion 1.9.4" >&6;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: Configuring Subversion 1.9.5" >&5
+$as_echo "$as_me: Configuring Subversion 1.9.5" >&6;}
abs_srcdir="`cd $srcdir && pwd`"
@@ -7422,7 +7422,10 @@ _ACEOF
localedir='${datadir}/locale'
-if test "${datadir}" = '${prefix}/share' && test "${prefix}" = "NONE"; then
+if test "${prefix}" = "NONE" \
+ && ( test "${datadir}" = '${prefix}/share' \
+ || ( test "${datadir}" = '${datarootdir}' \
+ && test "${datarootdir}" = '${prefix}/share' ) ); then
exp_localedir='${ac_default_prefix}/share/locale'
else
exp_localedir=$localedir
@@ -22550,68 +22553,34 @@ fi
zlib_found=no
+ zlib_skip=no
# Check whether --with-zlib was given.
if test "${with_zlib+set}" = set; then :
withval=$with_zlib;
- if test "$withval" = "yes" ; then
- ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_zlib_h" = xyes; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflate in -lz" >&5
-$as_echo_n "checking for inflate in -lz... " >&6; }
-if ${ac_cv_lib_z_inflate+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lz $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
+ if test "$withval" = "yes"; then
+ zlib_skip=no
+ elif test "$withval" = "no"; then
+ zlib_skip=yes
+ else
+ zlib_skip=no
+ zlib_prefix="$withval"
+ fi
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char inflate ();
-int
-main ()
-{
-return inflate ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_z_inflate=yes
-else
- ac_cv_lib_z_inflate=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_inflate" >&5
-$as_echo "$ac_cv_lib_z_inflate" >&6; }
-if test "x$ac_cv_lib_z_inflate" = xyes; then :
- zlib_found="builtin"
fi
-fi
-
+ if test "$zlib_skip" = "yes"; then
+ as_fn_error $? "subversion requires zlib" "$LINENO" 5
+ fi
- elif test "$withval" = "no" ; then
- as_fn_error $? "cannot compile without zlib." "$LINENO" 5
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: zlib library configuration" >&5
-$as_echo "$as_me: zlib library configuration" >&6;}
- zlib_prefix=$withval
- save_cppflags="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS -I$zlib_prefix/include"
- for ac_header in zlib.h
+ if test -n "$zlib_prefix"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: zlib library configuration via prefix" >&5
+$as_echo "$as_me: zlib library configuration via prefix" >&6;}
+ save_cppflags="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -I$zlib_prefix/include"
+ for ac_header in zlib.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
if test "x$ac_cv_header_zlib_h" = xyes; then :
@@ -22619,9 +22588,9 @@ if test "x$ac_cv_header_zlib_h" = xyes;
#define HAVE_ZLIB_H 1
_ACEOF
- save_ldflags="$LDFLAGS"
- LDFLAGS="$LDFLAGS -L$zlib_prefix/lib"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflate in -lz" >&5
+ save_ldflags="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -L$zlib_prefix/lib"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflate in -lz" >&5
$as_echo_n "checking for inflate in -lz... " >&6; }
if ${ac_cv_lib_z_inflate+:} false; then :
$as_echo_n "(cached) " >&6
@@ -22658,24 +22627,86 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_inflate" >&5
$as_echo "$ac_cv_lib_z_inflate" >&6; }
if test "x$ac_cv_lib_z_inflate" = xyes; then :
- zlib_found="yes"
+
+ zlib_found="yes"
+ SVN_ZLIB_INCLUDES="-I$zlib_prefix/include"
+ SVN_ZLIB_LIBS="`
+ input_flags="-L$zlib_prefix/lib"
+ output_flags=""
+ filtered_dirs="/lib /lib64 /usr/lib /usr/lib64"
+ for flag in $input_flags; do
+ filter="no"
+ for dir in $filtered_dirs; do
+ if test "$flag" = "-L$dir" || test "$flag" = "-L$dir/"; then
+ filter="yes"
+ break
+ fi
+ done
+ if test "$filter" = "no"; then
+ output_flags="$output_flags $flag"
+ fi
+ done
+ if test -n "$output_flags"; then
+ printf "%s" "${output_flags# }"
+ fi
+` -lz"
+
fi
- LDFLAGS="$save_ldflags"
+ LDFLAGS="$save_ldflags"
fi
done
- CPPFLAGS="$save_cppflags"
+ CPPFLAGS="$save_cppflags"
+ else
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: zlib library configuration via pkg-config" >&5
+$as_echo "$as_me: zlib library configuration via pkg-config" >&6;}
+ if test -n "$PKG_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for zlib library" >&5
+$as_echo_n "checking for zlib library... " >&6; }
+ if $PKG_CONFIG zlib --exists; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ zlib_found=yes
+ SVN_ZLIB_INCLUDES=`$PKG_CONFIG zlib --cflags`
+ SVN_ZLIB_LIBS=`$PKG_CONFIG zlib --libs`
+ SVN_ZLIB_LIBS="`
+ input_flags="$SVN_ZLIB_LIBS"
+ output_flags=""
+ filtered_dirs="/lib /lib64 /usr/lib /usr/lib64"
+ for flag in $input_flags; do
+ filter="no"
+ for dir in $filtered_dirs; do
+ if test "$flag" = "-L$dir" || test "$flag" = "-L$dir/"; then
+ filter="yes"
+ break
+ fi
+ done
+ if test "$filter" = "no"; then
+ output_flags="$output_flags $flag"
+ fi
+ done
+ if test -n "$output_flags"; then
+ printf "%s" "${output_flags# }"
+ fi
+`"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
+ fi
-else
- ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
+ if test "$zlib_found" = "no"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: zlib library configuration" >&5
+$as_echo "$as_me: zlib library configuration" >&6;}
+ ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
if test "x$ac_cv_header_zlib_h" = xyes; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflate in -lz" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflate in -lz" >&5
$as_echo_n "checking for inflate in -lz... " >&6; }
if ${ac_cv_lib_z_inflate+:} false; then :
$as_echo_n "(cached) " >&6
@@ -22712,46 +22743,22 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_inflate" >&5
$as_echo "$ac_cv_lib_z_inflate" >&6; }
if test "x$ac_cv_lib_z_inflate" = xyes; then :
- zlib_found="builtin"
-fi
+ zlib_found="builtin"
+ SVN_ZLIB_LIBS="-lz"
fi
-
fi
- if test "$zlib_found" = "no"; then
- as_fn_error $? "subversion requires zlib" "$LINENO" 5
- fi
-
- if test "$zlib_found" = "yes"; then
- SVN_ZLIB_INCLUDES="-I$zlib_prefix/include"
- LDFLAGS="$LDFLAGS `
- input_flags="-L$zlib_prefix/lib"
- output_flags=""
- filtered_dirs="/lib /lib64 /usr/lib /usr/lib64"
- for flag in $input_flags; do
- filter="no"
- for dir in $filtered_dirs; do
- if test "$flag" = "-L$dir" || test "$flag" = "-L$dir/"; then
- filter="yes"
- break
- fi
- done
- if test "$filter" = "no"; then
- output_flags="$output_flags $flag"
fi
- done
- if test -n "$output_flags"; then
- printf "%s" "${output_flags# }"
- fi
-`"
fi
- SVN_ZLIB_LIBS="-lz"
+ if test "$zlib_found" = "no"; then
+ as_fn_error $? "subversion requires zlib" "$LINENO" 5
+ fi
@@ -23785,15 +23792,14 @@ $as_echo "$SWIG_VERSION_RAW" >&6; }
# packages/rpm/redhat-7.x/subversion.spec
# packages/rpm/rhel-3/subversion.spec
# packages/rpm/rhel-4/subversion.spec
- if test -n "$SWIG_VERSION" && test "$SWIG_VERSION" -ge "103024" && \
- test "$SWIG_VERSION" -lt "300000"; then
+ if test -n "$SWIG_VERSION" && test "$SWIG_VERSION" -ge "103024"; then
SWIG_SUITABLE=yes
else
SWIG_SUITABLE=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Detected SWIG version $SWIG_VERSION_RAW" >&5
$as_echo "$as_me: WARNING: Detected SWIG version $SWIG_VERSION_RAW" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Subversion requires SWIG >= 1.3.24 and < 3.0.0 " >&5
-$as_echo "$as_me: WARNING: Subversion requires SWIG >= 1.3.24 and < 3.0.0 " >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Subversion requires SWIG >= 1.3.24" >&5
+$as_echo "$as_me: WARNING: Subversion requires SWIG >= 1.3.24" >&2;}
fi
fi
@@ -24274,15 +24280,14 @@ $as_echo "$SWIG_VERSION_RAW" >&6; }
# packages/rpm/redhat-7.x/subversion.spec
# packages/rpm/rhel-3/subversion.spec
# packages/rpm/rhel-4/subversion.spec
- if test -n "$SWIG_VERSION" && test "$SWIG_VERSION" -ge "103024" && \
- test "$SWIG_VERSION" -lt "300000"; then
+ if test -n "$SWIG_VERSION" && test "$SWIG_VERSION" -ge "103024"; then
SWIG_SUITABLE=yes
else
SWIG_SUITABLE=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Detected SWIG version $SWIG_VERSION_RAW" >&5
$as_echo "$as_me: WARNING: Detected SWIG version $SWIG_VERSION_RAW" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Subversion requires SWIG >= 1.3.24 and < 3.0.0 " >&5
-$as_echo "$as_me: WARNING: Subversion requires SWIG >= 1.3.24 and < 3.0.0 " >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Subversion requires SWIG >= 1.3.24" >&5
+$as_echo "$as_me: WARNING: Subversion requires SWIG >= 1.3.24" >&2;}
fi
fi
@@ -24763,15 +24768,14 @@ $as_echo "$SWIG_VERSION_RAW" >&6; }
# packages/rpm/redhat-7.x/subversion.spec
# packages/rpm/rhel-3/subversion.spec
# packages/rpm/rhel-4/subversion.spec
- if test -n "$SWIG_VERSION" && test "$SWIG_VERSION" -ge "103024" && \
- test "$SWIG_VERSION" -lt "300000"; then
+ if test -n "$SWIG_VERSION" && test "$SWIG_VERSION" -ge "103024"; then
SWIG_SUITABLE=yes
else
SWIG_SUITABLE=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Detected SWIG version $SWIG_VERSION_RAW" >&5
$as_echo "$as_me: WARNING: Detected SWIG version $SWIG_VERSION_RAW" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Subversion requires SWIG >= 1.3.24 and < 3.0.0 " >&5
-$as_echo "$as_me: WARNING: Subversion requires SWIG >= 1.3.24 and < 3.0.0 " >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Subversion requires SWIG >= 1.3.24" >&5
+$as_echo "$as_me: WARNING: Subversion requires SWIG >= 1.3.24" >&2;}
fi
fi
@@ -25255,15 +25259,14 @@ $as_echo "$SWIG_VERSION_RAW" >&6; }
# packages/rpm/redhat-7.x/subversion.spec
# packages/rpm/rhel-3/subversion.spec
# packages/rpm/rhel-4/subversion.spec
- if test -n "$SWIG_VERSION" && test "$SWIG_VERSION" -ge "103024" && \
- test "$SWIG_VERSION" -lt "300000"; then
+ if test -n "$SWIG_VERSION" && test "$SWIG_VERSION" -ge "103024"; then
SWIG_SUITABLE=yes
else
SWIG_SUITABLE=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Detected SWIG version $SWIG_VERSION_RAW" >&5
$as_echo "$as_me: WARNING: Detected SWIG version $SWIG_VERSION_RAW" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Subversion requires SWIG >= 1.3.24 and < 3.0.0 " >&5
-$as_echo "$as_me: WARNING: Subversion requires SWIG >= 1.3.24 and < 3.0.0 " >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Subversion requires SWIG >= 1.3.24" >&5
+$as_echo "$as_me: WARNING: Subversion requires SWIG >= 1.3.24" >&2;}
fi
fi
@@ -26152,6 +26155,9 @@ SWIG_CPPFLAGS="$CPPFLAGS"
SWIG_CPPFLAGS=`echo "$SWIG_CPPFLAGS" | $SED -e 's/-no-cpp-precomp //'`
+ SWIG_CPPFLAGS=`echo "$SWIG_CPPFLAGS" | $SED -e 's/-Wdate-time //'`
+
+
cat >>confdefs.h <<_ACEOF
@@ -26750,7 +26756,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by subversion $as_me 1.9.4, which was
+This file was extended by subversion $as_me 1.9.5, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -26816,7 +26822,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-subversion config.status 1.9.4
+subversion config.status 1.9.5
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
Modified: vendor/subversion/dist/configure.ac
==============================================================================
--- vendor/subversion/dist/configure.ac Thu Dec 1 05:37:29 2016 (r309353)
+++ vendor/subversion/dist/configure.ac Thu Dec 1 07:45:05 2016 (r309354)
@@ -199,7 +199,10 @@ localedir='${datadir}/locale'
AC_SUBST(localedir)
dnl For SVN_LOCALE_DIR, we have to expand it to something. See SVN_BINDIR.
-if test "${datadir}" = '${prefix}/share' && test "${prefix}" = "NONE"; then
+if test "${prefix}" = "NONE" \
+ && ( test "${datadir}" = '${prefix}/share' \
+ || ( test "${datadir}" = '${datarootdir}' \
+ && test "${datarootdir}" = '${prefix}/share' ) ); then
exp_localedir='${ac_default_prefix}/share/locale'
else
exp_localedir=$localedir
@@ -1504,6 +1507,7 @@ fi
# Need to strip '-no-cpp-precomp' from CPPFLAGS for SWIG as well.
SWIG_CPPFLAGS="$CPPFLAGS"
SVN_STRIP_FLAG(SWIG_CPPFLAGS, [-no-cpp-precomp ])
+SVN_STRIP_FLAG(SWIG_CPPFLAGS, [-Wdate-time ])
AC_SUBST([SWIG_CPPFLAGS])
dnl Since this is used only on Unix-y systems, define the path separator as '/'
Modified: vendor/subversion/dist/get-deps.sh
==============================================================================
--- vendor/subversion/dist/get-deps.sh Thu Dec 1 05:37:29 2016 (r309353)
+++ vendor/subversion/dist/get-deps.sh Thu Dec 1 07:45:05 2016 (r309354)
@@ -89,7 +89,7 @@ get_serf() {
test -d $BASEDIR/serf && return
cd $TEMPDIR
- $HTTP_FETCH http://serf.googlecode.com/svn/src_releases/$SERF.tar.bz2
+ $HTTP_FETCH https://archive.apache.org/dist/serf/$SERF.tar.bz2
cd $BASEDIR
bzip2 -dc $TEMPDIR/$SERF.tar.bz2 | tar -xf -
Modified: vendor/subversion/dist/subversion/include/private/svn_sqlite.h
==============================================================================
--- vendor/subversion/dist/subversion/include/private/svn_sqlite.h Thu Dec 1 05:37:29 2016 (r309353)
+++ vendor/subversion/dist/subversion/include/private/svn_sqlite.h Thu Dec 1 07:45:05 2016 (r309354)
@@ -555,6 +555,9 @@ svn_sqlite__hotcopy(const char *src_path
const char *dst_path,
apr_pool_t *scratch_pool);
+/* Backported version of SVN_ERR_SQLITE_ROLLBACK_FAILED. */
+#define SVN_SQLITE__ERR_ROLLBACK_FAILED (SVN_ERR_MISC_CATEGORY_START + 44)
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
Modified: vendor/subversion/dist/subversion/include/svn_version.h
==============================================================================
--- vendor/subversion/dist/subversion/include/svn_version.h Thu Dec 1 05:37:29 2016 (r309353)
+++ vendor/subversion/dist/subversion/include/svn_version.h Thu Dec 1 07:45:05 2016 (r309354)
@@ -70,7 +70,7 @@ extern "C" {
*
* @since New in 1.1.
*/
-#define SVN_VER_PATCH 4
+#define SVN_VER_PATCH 5
/** @deprecated Provided for backward compatibility with the 1.0 API. */
@@ -93,7 +93,7 @@ extern "C" {
*
* Always change this at the same time as SVN_VER_NUMTAG.
*/
-#define SVN_VER_TAG " (r1740329)"
+#define SVN_VER_TAG " (r1770682)"
/** Number tag: a string describing the version.
@@ -117,7 +117,7 @@ extern "C" {
* file version. Its value remains 0 in the repository except in release
* tags where it is the revision from which the tag was created.
*/
-#define SVN_VER_REVISION 1740329
+#define SVN_VER_REVISION 1770682
/* Version strings composed from the above definitions. */
Modified: vendor/subversion/dist/subversion/libsvn_client/merge.c
==============================================================================
--- vendor/subversion/dist/subversion/libsvn_client/merge.c Thu Dec 1 05:37:29 2016 (r309353)
+++ vendor/subversion/dist/subversion/libsvn_client/merge.c Thu Dec 1 07:45:05 2016 (r309354)
@@ -1295,6 +1295,15 @@ record_skip(merge_cmd_baton_t *merge_b,
return SVN_NO_ERROR;
}
+/* Forward declaration */
+static svn_client__merge_path_t *
+find_nearest_ancestor_with_intersecting_ranges(
+ svn_revnum_t *start,
+ svn_revnum_t *end,
+ const apr_array_header_t *children_with_mergeinfo,
+ svn_boolean_t path_is_own_ancestor,
+ const char *local_abspath);
+
/* Record a tree conflict in the WC, unless this is a dry run or a record-
* only merge, or if a tree conflict is already flagged for the VICTIM_PATH.
* (The latter can happen if a merge-tracking-aware merge is doing multiple
@@ -1366,11 +1375,45 @@ record_tree_conflict(merge_cmd_baton_t *
reason = svn_wc_conflict_reason_moved_here;
}
- SVN_ERR(make_conflict_versions(&left, &right, local_abspath,
- merge_left_node_kind,
- merge_right_node_kind,
- &merge_b->merge_source, merge_b->target,
- result_pool, scratch_pool));
+ if (HONOR_MERGEINFO(merge_b) && merge_b->merge_source.ancestral)
+ {
+ struct merge_source_t *source;
+ svn_client__pathrev_t *loc1;
+ svn_client__pathrev_t *loc2;
+ svn_merge_range_t range =
+ {SVN_INVALID_REVNUM, SVN_INVALID_REVNUM, TRUE};
+
+ /* We are honoring mergeinfo so do not blindly record
+ * a conflict describing the merge of
+ * SOURCE->LOC1->URL at SOURCE->LOC1->REV through
+ * SOURCE->LOC2->URL at SOURCE->LOC2->REV
+ * but figure out the actual revision range merged. */
+ (void)find_nearest_ancestor_with_intersecting_ranges(
+ &(range.start), &(range.end),
+ merge_b->notify_begin.nodes_with_mergeinfo,
+ action != svn_wc_conflict_action_delete,
+ local_abspath);
+ loc1 = svn_client__pathrev_dup(merge_b->merge_source.loc1,
+ scratch_pool);
+ loc2 = svn_client__pathrev_dup(merge_b->merge_source.loc2,
+ scratch_pool);
+ loc1->rev = range.start;
+ loc2->rev = range.end;
+ source = merge_source_create(loc1, loc2,
+ merge_b->merge_source.ancestral,
+ scratch_pool);
+ SVN_ERR(make_conflict_versions(&left, &right, local_abspath,
+ merge_left_node_kind,
+ merge_right_node_kind,
+ source, merge_b->target,
+ result_pool, scratch_pool));
+ }
+ else
+ SVN_ERR(make_conflict_versions(&left, &right, local_abspath,
+ merge_left_node_kind,
+ merge_right_node_kind,
+ &merge_b->merge_source, merge_b->target,
+ result_pool, scratch_pool));
/* Fix up delete of file, add of dir replacement (or other way around) */
if (existing_conflict != NULL && existing_conflict->src_left_version)
@@ -10956,7 +10999,7 @@ find_unsynced_ranges(const svn_client__p
potentially_unmerged_ranges->nelts - 1,
svn_merge_range_t *))->end;
log_find_operative_baton_t log_baton;
- const char *old_session_url;
+ const char *old_session_url = NULL;
svn_error_t *err;
log_baton.merged_catalog = merged_catalog;
@@ -10967,14 +11010,22 @@ find_unsynced_ranges(const svn_client__p
= svn_client__pathrev_fspath(target_loc, scratch_pool);
log_baton.result_pool = result_pool;
- SVN_ERR(svn_client__ensure_ra_session_url(
- &old_session_url, ra_session, target_loc->url, scratch_pool));
+ /* Reparent the session to TARGET_LOC if this target location
+ * exists within the unmerged revision range. */
+ if (target_loc->rev <= youngest_rev && target_loc->rev >= oldest_rev)
+ SVN_ERR(svn_client__ensure_ra_session_url(
+ &old_session_url, ra_session, target_loc->url, scratch_pool));
+
err = get_log(ra_session, "", youngest_rev, oldest_rev,
TRUE, /* discover_changed_paths */
log_find_operative_revs, &log_baton,
scratch_pool);
- SVN_ERR(svn_error_compose_create(
- err, svn_ra_reparent(ra_session, old_session_url, scratch_pool)));
+ if (old_session_url)
+ err = svn_error_compose_create(err,
+ svn_ra_reparent(ra_session,
+ old_session_url,
+ scratch_pool));
+ SVN_ERR(err);
}
return SVN_NO_ERROR;
Modified: vendor/subversion/dist/subversion/libsvn_fs_fs/cached_data.c
==============================================================================
--- vendor/subversion/dist/subversion/libsvn_fs_fs/cached_data.c Thu Dec 1 05:37:29 2016 (r309353)
+++ vendor/subversion/dist/subversion/libsvn_fs_fs/cached_data.c Thu Dec 1 07:45:05 2016 (r309354)
@@ -1571,6 +1571,17 @@ read_plain_window(svn_stringbuf_t **nwin
return SVN_NO_ERROR;
}
+/* Skip SIZE bytes from the PLAIN representation RS. */
+static svn_error_t *
+skip_plain_window(rep_state_t *rs,
+ apr_size_t size)
+{
+ /* Update RS. */
+ rs->current += (apr_off_t)size;
+
+ return SVN_NO_ERROR;
+}
+
/* Get the undeltified window that is a result of combining all deltas
from the current desired representation identified in *RB with its
base representation. Store the window in *RESULT. */
@@ -1628,9 +1639,18 @@ get_combined_window(svn_stringbuf_t **re
Also note that we may have short-cut reading the delta chain --
in which case SRC_OPS is 0 and it might not be a PLAIN rep. */
source = buf;
- if (source == NULL && rb->src_state != NULL && window->src_ops)
- SVN_ERR(read_plain_window(&source, rb->src_state, window->sview_len,
- pool, iterpool));
+ if (source == NULL && rb->src_state != NULL)
+ {
+ /* Even if we don't need the source rep now, we still must keep
+ * its read offset in sync with what we might need for the next
+ * window. */
+ if (window->src_ops)
+ SVN_ERR(read_plain_window(&source, rb->src_state,
+ window->sview_len,
+ pool, iterpool));
+ else
+ SVN_ERR(skip_plain_window(rb->src_state, window->sview_len));
+ }
/* Combine this window with the current one. */
new_pool = svn_pool_create(rb->pool);
Modified: vendor/subversion/dist/subversion/libsvn_fs_fs/caching.c
==============================================================================
--- vendor/subversion/dist/subversion/libsvn_fs_fs/caching.c Thu Dec 1 05:37:29 2016 (r309353)
+++ vendor/subversion/dist/subversion/libsvn_fs_fs/caching.c Thu Dec 1 07:45:05 2016 (r309354)
@@ -430,7 +430,7 @@ svn_fs_fs__initialize_caches(svn_fs_t *f
svn_fs_fs__deserialize_dir_entries,
sizeof(pair_cache_key_t),
apr_pstrcat(pool, prefix, "DIR", SVN_VA_NULL),
- SVN_CACHE__MEMBUFFER_DEFAULT_PRIORITY,
+ SVN_CACHE__MEMBUFFER_HIGH_PRIORITY,
fs,
no_handler,
fs->pool, pool));
@@ -806,7 +806,7 @@ svn_fs_fs__initialize_txn_caches(svn_fs_
APR_HASH_KEY_STRING,
apr_pstrcat(pool, prefix, "TXNDIR",
SVN_VA_NULL),
- 0,
+ SVN_CACHE__MEMBUFFER_HIGH_PRIORITY,
fs,
TRUE,
pool, pool));
Modified: vendor/subversion/dist/subversion/libsvn_fs_fs/fs.c
==============================================================================
--- vendor/subversion/dist/subversion/libsvn_fs_fs/fs.c Thu Dec 1 05:37:29 2016 (r309353)
+++ vendor/subversion/dist/subversion/libsvn_fs_fs/fs.c Thu Dec 1 07:45:05 2016 (r309354)
@@ -452,7 +452,7 @@ fs_pack(svn_fs_t *fs,
apr_pool_t *common_pool)
{
SVN_ERR(fs_open(fs, path, common_pool_lock, pool, common_pool));
- return svn_fs_fs__pack(fs, notify_func, notify_baton,
+ return svn_fs_fs__pack(fs, 0, notify_func, notify_baton,
cancel_func, cancel_baton, pool);
}
Modified: vendor/subversion/dist/subversion/libsvn_fs_fs/fs_fs.c
==============================================================================
--- vendor/subversion/dist/subversion/libsvn_fs_fs/fs_fs.c Thu Dec 1 05:37:29 2016 (r309353)
+++ vendor/subversion/dist/subversion/libsvn_fs_fs/fs_fs.c Thu Dec 1 07:45:05 2016 (r309354)
@@ -492,6 +492,7 @@ read_format(int *pformat,
svn_error_clear(err);
*pformat = 1;
*max_files_per_dir = 0;
+ *use_log_addressing = FALSE;
return SVN_NO_ERROR;
}
Modified: vendor/subversion/dist/subversion/libsvn_fs_fs/low_level.c
==============================================================================
--- vendor/subversion/dist/subversion/libsvn_fs_fs/low_level.c Thu Dec 1 05:37:29 2016 (r309353)
+++ vendor/subversion/dist/subversion/libsvn_fs_fs/low_level.c Thu Dec 1 07:45:05 2016 (r309354)
@@ -764,7 +764,11 @@ svn_fs_fs__parse_representation(represen
SVN_ERR(svn_checksum_parse_hex(&checksum, svn_checksum_md5, str,
scratch_pool));
- memcpy(rep->md5_digest, checksum->digest, sizeof(rep->md5_digest));
+
+ /* If STR is a all-zero checksum, CHECKSUM will be NULL and REP already
+ contains the correct value. */
+ if (checksum)
+ memcpy(rep->md5_digest, checksum->digest, sizeof(rep->md5_digest));
/* The remaining fields are only used for formats >= 4, so check that. */
str = svn_cstring_tokenize(" ", &string);
@@ -778,8 +782,16 @@ svn_fs_fs__parse_representation(represen
SVN_ERR(svn_checksum_parse_hex(&checksum, svn_checksum_sha1, str,
scratch_pool));
+
+ /* We do have a valid SHA1 but it might be all 0.
+ We cannot be sure where that came from (Alas! legacy), so let's not
+ claim we know the SHA1 in that case. */
rep->has_sha1 = checksum != NULL;
- memcpy(rep->sha1_digest, checksum->digest, sizeof(rep->sha1_digest));
+
+ /* If STR is a all-zero checksum, CHECKSUM will be NULL and REP already
+ contains the correct value. */
+ if (checksum)
+ memcpy(rep->sha1_digest, checksum->digest, sizeof(rep->sha1_digest));
/* Read the uniquifier. */
str = svn_cstring_tokenize("/", &string);
Modified: vendor/subversion/dist/subversion/libsvn_fs_fs/pack.c
==============================================================================
--- vendor/subversion/dist/subversion/libsvn_fs_fs/pack.c Thu Dec 1 05:37:29 2016 (r309353)
+++ vendor/subversion/dist/subversion/libsvn_fs_fs/pack.c Thu Dec 1 07:45:05 2016 (r309354)
@@ -335,21 +335,40 @@ static svn_error_t *
reset_pack_context(pack_context_t *context,
apr_pool_t *pool)
{
+ const char *temp_dir;
+
apr_array_clear(context->changes);
- SVN_ERR(svn_io_file_trunc(context->changes_file, 0, pool));
+ SVN_ERR(svn_io_file_close(context->changes_file, pool));
apr_array_clear(context->file_props);
- SVN_ERR(svn_io_file_trunc(context->file_props_file, 0, pool));
+ SVN_ERR(svn_io_file_close(context->file_props_file, pool));
apr_array_clear(context->dir_props);
- SVN_ERR(svn_io_file_trunc(context->dir_props_file, 0, pool));
+ SVN_ERR(svn_io_file_close(context->dir_props_file, pool));
apr_array_clear(context->rev_offsets);
apr_array_clear(context->path_order);
apr_array_clear(context->references);
apr_array_clear(context->reps);
- SVN_ERR(svn_io_file_trunc(context->reps_file, 0, pool));
+ SVN_ERR(svn_io_file_close(context->reps_file, pool));
svn_pool_clear(context->info_pool);
+ /* The new temporary files must live at least as long as any other info
+ * object in CONTEXT. */
+ SVN_ERR(svn_io_temp_dir(&temp_dir, pool));
+ SVN_ERR(svn_io_open_unique_file3(&context->changes_file, NULL, temp_dir,
+ svn_io_file_del_on_close,
+ context->info_pool, pool));
+ SVN_ERR(svn_io_open_unique_file3(&context->file_props_file, NULL, temp_dir,
+ svn_io_file_del_on_close,
+ context->info_pool, pool));
+ SVN_ERR(svn_io_open_unique_file3(&context->dir_props_file, NULL, temp_dir,
+ svn_io_file_del_on_close,
+ context->info_pool, pool));
+ SVN_ERR(svn_io_open_unique_file3(&context->reps_file, NULL, temp_dir,
+ svn_io_file_del_on_close,
+ context->info_pool, pool));
+ context->paths = svn_prefix_tree__create(context->info_pool);
+
return SVN_NO_ERROR;
}
@@ -1410,21 +1429,20 @@ append_revision(pack_context_t *context,
apr_off_t offset = 0;
apr_pool_t *iterpool = svn_pool_create(pool);
svn_fs_fs__revision_file_t *rev_file;
- apr_finfo_t finfo;
-
- /* Get the size of the file. */
- const char *path = svn_dirent_join(context->shard_dir,
- apr_psprintf(iterpool, "%ld",
- context->start_rev),
- pool);
- SVN_ERR(svn_io_stat(&finfo, path, APR_FINFO_SIZE, pool));
+ svn_filesize_t revdata_size;
- /* Copy all the bits from the rev file to the end of the pack file. */
+ /* Copy all non-index contents the rev file to the end of the pack file. */
SVN_ERR(svn_fs_fs__open_pack_or_rev_file(&rev_file, context->fs,
context->start_rev, pool,
iterpool));
+
+ SVN_ERR(svn_fs_fs__auto_read_footer(rev_file));
+ revdata_size = rev_file->l2p_offset;
+
+ SVN_ERR(svn_io_file_aligned_seek(rev_file->file, ffd->block_size, NULL, 0,
+ iterpool));
SVN_ERR(copy_file_data(context, context->pack_file, rev_file->file,
- finfo.size, iterpool));
+ revdata_size, iterpool));
/* mark the start of a new revision */
SVN_ERR(svn_fs_fs__l2p_proto_index_add_revision(context->proto_l2p_index,
@@ -1432,7 +1450,7 @@ append_revision(pack_context_t *context,
/* read the phys-to-log index file until we covered the whole rev file.
* That index contains enough info to build both target indexes from it. */
- while (offset < finfo.size)
+ while (offset < revdata_size)
{
/* read one cluster */
int i;
@@ -1456,7 +1474,7 @@ append_revision(pack_context_t *context,
/* process entry while inside the rev file */
offset = entry->offset;
- if (offset < finfo.size)
+ if (offset < revdata_size)
{
entry->offset += context->pack_offset;
offset += entry->size;
@@ -1470,7 +1488,7 @@ append_revision(pack_context_t *context,
}
svn_pool_destroy(iterpool);
- context->pack_offset += finfo.size;
+ context->pack_offset += revdata_size;
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-vendor
mailing list