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 2017/10/24 12:40:48 UTC
svn commit: r1813173 [1/6] - in /subversion/branches/addremove: ./
build/generator/ subversion/bindings/javahl/native/
subversion/bindings/swig/include/ subversion/include/
subversion/include/private/ subversion/libsvn_client/
subversion/libsvn_ra_serf...
Author: stsp
Date: Tue Oct 24 12:40:47 2017
New Revision: 1813173
URL: http://svn.apache.org/viewvc?rev=1813173&view=rev
Log:
On the addremove branch, merge outstanding changes from trunk.
Added:
subversion/branches/addremove/subversion/libsvn_subr/utf8proc/LICENSE.md
- copied unchanged from r1813172, subversion/trunk/subversion/libsvn_subr/utf8proc/LICENSE.md
subversion/branches/addremove/subversion/libsvn_subr/utf8proc/NEWS.md
- copied unchanged from r1813172, subversion/trunk/subversion/libsvn_subr/utf8proc/NEWS.md
subversion/branches/addremove/subversion/libsvn_subr/utf8proc/README.md
- copied unchanged from r1813172, subversion/trunk/subversion/libsvn_subr/utf8proc/README.md
subversion/branches/addremove/subversion/libsvn_subr/utf8proc/lump.md
- copied unchanged from r1813172, subversion/trunk/subversion/libsvn_subr/utf8proc/lump.md
Removed:
subversion/branches/addremove/subversion/libsvn_subr/utf8proc/LICENSE
subversion/branches/addremove/subversion/libsvn_subr/utf8proc/README
subversion/branches/addremove/subversion/tests/cmdline/upgrade_tests_data/format_12a.tar.bz2
subversion/branches/addremove/subversion/tests/cmdline/upgrade_tests_data/format_12b.tar.bz2
subversion/branches/addremove/subversion/tests/cmdline/upgrade_tests_data/format_13.tar.bz2
subversion/branches/addremove/subversion/tests/cmdline/upgrade_tests_data/format_14.tar.bz2
subversion/branches/addremove/subversion/tests/cmdline/upgrade_tests_data/format_15.tar.bz2
subversion/branches/addremove/subversion/tests/cmdline/upgrade_tests_data/format_16.tar.bz2
subversion/branches/addremove/subversion/tests/cmdline/upgrade_tests_data/format_28.tar.bz2
subversion/branches/addremove/subversion/tests/cmdline/upgrade_tests_data/upgrade_tc.tar.bz2
Modified:
subversion/branches/addremove/ (props changed)
subversion/branches/addremove/CHANGES
subversion/branches/addremove/COMMITTERS
subversion/branches/addremove/build/generator/gen_win_dependencies.py
subversion/branches/addremove/configure.ac
subversion/branches/addremove/subversion/bindings/javahl/native/SVNRepos.cpp
subversion/branches/addremove/subversion/bindings/swig/include/svn_types.swg
subversion/branches/addremove/subversion/include/private/svn_repos_private.h
subversion/branches/addremove/subversion/include/private/svn_subr_private.h
subversion/branches/addremove/subversion/include/private/svn_utf_private.h
subversion/branches/addremove/subversion/include/private/svn_wc_private.h
subversion/branches/addremove/subversion/include/svn_delta.h
subversion/branches/addremove/subversion/include/svn_error_codes.h
subversion/branches/addremove/subversion/include/svn_repos.h
subversion/branches/addremove/subversion/include/svn_string.h
subversion/branches/addremove/subversion/libsvn_client/conflicts.c
subversion/branches/addremove/subversion/libsvn_client/diff.c
subversion/branches/addremove/subversion/libsvn_client/list.c
subversion/branches/addremove/subversion/libsvn_ra_serf/merge.c
subversion/branches/addremove/subversion/libsvn_repos/deprecated.c
subversion/branches/addremove/subversion/libsvn_repos/dump.c
subversion/branches/addremove/subversion/libsvn_repos/fs-wrap.c
subversion/branches/addremove/subversion/libsvn_repos/hooks.c
subversion/branches/addremove/subversion/libsvn_repos/list.c
subversion/branches/addremove/subversion/libsvn_repos/load-fs-vtable.c
subversion/branches/addremove/subversion/libsvn_subr/config_win.c
subversion/branches/addremove/subversion/libsvn_subr/deprecated.c
subversion/branches/addremove/subversion/libsvn_subr/io.c
subversion/branches/addremove/subversion/libsvn_subr/lz4/lz4.c
subversion/branches/addremove/subversion/libsvn_subr/mergeinfo.c
subversion/branches/addremove/subversion/libsvn_subr/spillbuf.c
subversion/branches/addremove/subversion/libsvn_subr/sqlite3wrapper.c
subversion/branches/addremove/subversion/libsvn_subr/string.c
subversion/branches/addremove/subversion/libsvn_subr/utf8proc/ (props changed)
subversion/branches/addremove/subversion/libsvn_subr/utf8proc.c
subversion/branches/addremove/subversion/libsvn_subr/utf8proc/utf8proc.c
subversion/branches/addremove/subversion/libsvn_subr/utf8proc/utf8proc_data.c
subversion/branches/addremove/subversion/libsvn_subr/utf8proc/utf8proc_internal.h
subversion/branches/addremove/subversion/libsvn_subr/version.c
subversion/branches/addremove/subversion/libsvn_subr/win32_crashrpt.c
subversion/branches/addremove/subversion/libsvn_subr/win32_crypto.c
subversion/branches/addremove/subversion/libsvn_subr/win32_xlate.c
subversion/branches/addremove/subversion/libsvn_subr/x509parse.c
subversion/branches/addremove/subversion/libsvn_wc/conflicts.c
subversion/branches/addremove/subversion/libsvn_wc/upgrade.c
subversion/branches/addremove/subversion/libsvn_wc/wc-metadata.sql
subversion/branches/addremove/subversion/libsvn_wc/wc-queries.sql
subversion/branches/addremove/subversion/libsvn_wc/wc_db.c
subversion/branches/addremove/subversion/libsvn_wc/wc_db.h
subversion/branches/addremove/subversion/mod_dav_svn/merge.c
subversion/branches/addremove/subversion/mod_dav_svn/mod_dav_svn.c
subversion/branches/addremove/subversion/svn/svn.c
subversion/branches/addremove/subversion/svnadmin/svnadmin.c
subversion/branches/addremove/subversion/svndumpfilter/svndumpfilter.c
subversion/branches/addremove/subversion/svnrdump/load_editor.c
subversion/branches/addremove/subversion/svnrdump/svnrdump.h
subversion/branches/addremove/subversion/svnrdump/util.c
subversion/branches/addremove/subversion/tests/cmdline/basic_tests.py
subversion/branches/addremove/subversion/tests/cmdline/davautocheck.sh
subversion/branches/addremove/subversion/tests/cmdline/diff_tests.py
subversion/branches/addremove/subversion/tests/cmdline/getopt_tests_data/svn_help_log_switch_stdout
subversion/branches/addremove/subversion/tests/cmdline/svnadmin_tests.py
subversion/branches/addremove/subversion/tests/cmdline/svntest/actions.py
subversion/branches/addremove/subversion/tests/cmdline/svntest/verify.py
subversion/branches/addremove/subversion/tests/cmdline/upgrade_tests.py
subversion/branches/addremove/subversion/tests/libsvn_client/conflicts-test.c
subversion/branches/addremove/subversion/tests/libsvn_repos/dump-load-test.c
subversion/branches/addremove/subversion/tests/libsvn_subr/string-test.c
subversion/branches/addremove/subversion/tests/libsvn_wc/utils.c
subversion/branches/addremove/subversion/tests/libsvn_wc/wc-queries-test.c
subversion/branches/addremove/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh
subversion/branches/addremove/tools/buildbot/slaves/svn-x64-macosx/setenv.sh
subversion/branches/addremove/tools/buildbot/slaves/svn-x64-macosx/svncheck.sh
subversion/branches/addremove/tools/client-side/bash_completion
subversion/branches/addremove/tools/dev/svnmover/svnmover.c
subversion/branches/addremove/tools/dist/templates/rc-release-ann.ezt
Propchange: subversion/branches/addremove/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Oct 24 12:40:47 2017
@@ -97,4 +97,4 @@
/subversion/branches/verify-at-commit:1462039-1462408
/subversion/branches/verify-keep-going:1439280-1546110
/subversion/branches/wc-collate-path:1402685-1480384
-/subversion/trunk:1802696-1805897
+/subversion/trunk:1802696-1813172
Modified: subversion/branches/addremove/CHANGES
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/CHANGES?rev=1813173&r1=1813172&r2=1813173&view=diff
==============================================================================
--- subversion/branches/addremove/CHANGES (original)
+++ subversion/branches/addremove/CHANGES Tue Oct 24 12:40:47 2017
@@ -13,6 +13,7 @@ the 1.9 release: https://subversion.apa
* svnbench: Show wall-clock time when done (r1703383)
* svnbench: Show number of bytes transferred across the network (r1710586)
* svnbench: Actually evaluate the '--with-no-revprops' option (r1709593)
+ * New 'svnadmin dump' options to include/exclude paths (r1811992)
* New 'svnadmin load-revprops' subcommand (r1694191)
* New 'svnadmin dump-revprops' subcommand (r1694225)
* New '--no-flush-to-disk' option for 'svnadmin load' (r1736357, -7357)
@@ -20,6 +21,7 @@ the 1.9 release: https://subversion.apa
* New '--max-request-size' option for svnserve (r1714330)
* New '--max-response-size' option for svnserve (r1714333)
* New '-rN' option for 'svnadmin lstxns' (r1703699)
+ * New '--search' option for fast 'svn ls' searches (r1767186 et al)
* Add '--search' option support to 'svnbench null-list' (r1767202)
* New '-M' option for 'svnlook tree' (r1708222)
* New '--skip-unchanged' option for 'svnsync copy-revprops' (r1692655)
Modified: subversion/branches/addremove/COMMITTERS
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/COMMITTERS?rev=1813173&r1=1813172&r2=1813173&view=diff
==============================================================================
--- subversion/branches/addremove/COMMITTERS [UTF-8] (original)
+++ subversion/branches/addremove/COMMITTERS [UTF-8] Tue Oct 24 12:40:47 2017
@@ -103,6 +103,7 @@ Commit access for specific areas:
rschupp Roderich Schupp <ro...@gmail.com> (Swig bindings)
stilor Alexey Neyman <st...@att.net> (Python bindings,
svn-vendor.py)
+ troycurtisjr Troy Curtis, Jr <tr...@gmail.com> (Swig bindings)
Packages:
Modified: subversion/branches/addremove/build/generator/gen_win_dependencies.py
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/build/generator/gen_win_dependencies.py?rev=1813173&r1=1813172&r2=1813173&view=diff
==============================================================================
--- subversion/branches/addremove/build/generator/gen_win_dependencies.py (original)
+++ subversion/branches/addremove/build/generator/gen_win_dependencies.py Tue Oct 24 12:40:47 2017
@@ -263,7 +263,7 @@ class GenDependenciesBase(gen_base.Gener
elif val == '2017' or val == '15':
self.vs_version = '2017'
self.sln_version = '12.00'
- self.vcproj_version = '15.0'
+ self.vcproj_version = '14.1'
self.vcproj_extension = '.vcxproj'
elif re.match('^20\d+$', val):
print('WARNING: Unknown VS.NET version "%s",'
Modified: subversion/branches/addremove/configure.ac
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/configure.ac?rev=1813173&r1=1813172&r2=1813173&view=diff
==============================================================================
--- subversion/branches/addremove/configure.ac (original)
+++ subversion/branches/addremove/configure.ac Tue Oct 24 12:40:47 2017
@@ -1312,7 +1312,7 @@ AC_PATH_PROG(PERL, perl, none)
if test -n "$RUBY"; then
AC_PATH_PROG(RUBY, "$RUBY", none)
else
- AC_PATH_PROGS(RUBY, ruby ruby1.8 ruby18 ruby1.9 ruby1 ruby1.9.3 ruby193 ruby2.0 ruby2.1, none)
+ AC_PATH_PROGS(RUBY, ruby ruby1 ruby1.8 ruby18 ruby1.9 ruby19 ruby1.9.3 ruby193 ruby2 ruby2.0 ruby20 ruby2.1 ruby21 ruby2.2 ruby22 ruby2.3 ruby23 ruby2.4 ruby24, none)
fi
if test "$RUBY" != "none"; then
AC_MSG_CHECKING([rb_hash_foreach])
@@ -1321,7 +1321,7 @@ if test "$RUBY" != "none"; then
if test -n "$RDOC"; then
AC_PATH_PROG(RDOC, "$RDOC", none)
else
- AC_PATH_PROGS(RDOC, rdoc rdoc1.8 rdoc18 rdoc1.9 rdoc19 rdoc1.9.3 rdoc193 rdoc2.0 rdoc2.1, none)
+ AC_PATH_PROGS(RUBY, rdoc rdoc1 rdoc1.8 rdoc18 rdoc1.9 rdoc19 rdoc1.9.3 rdoc193 rdoc2 rdoc2.0 rdoc20 rdoc2.1 rdoc21 rdoc2.2 rdoc22 rdoc2.3 rdoc23 rdoc2.4 rdoc24, none)
fi
AC_CACHE_CHECK([for Ruby major version], [svn_cv_ruby_major],[
svn_cv_ruby_major="`$RUBY -rrbconfig -e 'print RbConfig::CONFIG.fetch(%q(MAJOR))'`"
@@ -1345,7 +1345,7 @@ if test "$RUBY" != "none"; then
# Disallow Ruby between 1.8.7 and 1.9.3
RUBY="none"
AC_MSG_WARN([The detected Ruby is between 1.9 and 1.9.3])
- AC_MSG_WARN([Only 1.8.x and 1.9.3 releases are supported at this time])
+ AC_MSG_WARN([Only 1.8.x and 1.9.3 or later are supported at this time])
fi
else
AC_MSG_RESULT([no])
Modified: subversion/branches/addremove/subversion/bindings/javahl/native/SVNRepos.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/subversion/bindings/javahl/native/SVNRepos.cpp?rev=1813173&r1=1813172&r2=1813173&view=diff
==============================================================================
--- subversion/branches/addremove/subversion/bindings/javahl/native/SVNRepos.cpp (original)
+++ subversion/branches/addremove/subversion/bindings/javahl/native/SVNRepos.cpp Tue Oct 24 12:40:47 2017
@@ -247,6 +247,7 @@ void SVNRepos::dump(File &path, OutputSt
? ReposNotifyCallback::notify
: NULL,
notifyCallback,
+ NULL, NULL,
checkCancel, this, requestPool.getPool()), );
}
Modified: subversion/branches/addremove/subversion/bindings/swig/include/svn_types.swg
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/subversion/bindings/swig/include/svn_types.swg?rev=1813173&r1=1813172&r2=1813173&view=diff
==============================================================================
--- subversion/branches/addremove/subversion/bindings/swig/include/svn_types.swg (original)
+++ subversion/branches/addremove/subversion/bindings/swig/include/svn_types.swg Tue Oct 24 12:40:47 2017
@@ -1107,7 +1107,7 @@ svn_ ## TYPE ## _swig_rb_closed(VALUE se
#ifdef SWIGRUBY
%typemap(argout) unsigned char digest[ANY] {
char *digest_string = (char *)svn_md5_digest_to_cstring($1, _global_pool);
- %append_output(rb_str_new2(digest_string));
+ %append_output(rb_str_new2(digest_string ? digest_string : ""));
}
#endif
Modified: subversion/branches/addremove/subversion/include/private/svn_repos_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/subversion/include/private/svn_repos_private.h?rev=1813173&r1=1813172&r2=1813173&view=diff
==============================================================================
--- subversion/branches/addremove/subversion/include/private/svn_repos_private.h (original)
+++ subversion/branches/addremove/subversion/include/private/svn_repos_private.h Tue Oct 24 12:40:47 2017
@@ -75,6 +75,30 @@ svn_repos__validate_prop(const char *nam
const svn_string_t *value,
apr_pool_t *pool);
+/* Attempt to normalize a Subversion property if it "needs translation"
+ * (according to svn_prop_needs_translation(), currently all svn:* props).
+ *
+ * At this time, the only performed normalization is translation of
+ * the line endings of the property value so that it would only contain
+ * LF (\n) characters. "\r" characters found mid-line are replaced with "\n".
+ * "\r\n" sequences are replaced with "\n".
+ *
+ * NAME is used to check that VALUE should be normalized, and if this
+ * is the case, VALUE is then normalized, allocated from RESULT_POOL.
+ * If no normalization is required, VALUE will be copied to RESULT_POOL
+ * unchanged. If NORMALIZED_P is not NULL, and the normalization
+ * happened, set *NORMALIZED_P to non-zero. If the property is returned
+ * unchanged and NORMALIZED_P is not NULL, then *NORMALIZED_P will be
+ * set to zero. SCRATCH_POOL will be used for temporary allocations.
+ */
+svn_error_t *
+svn_repos__normalize_prop(const svn_string_t **result_p,
+ svn_boolean_t *normalized_p,
+ const char *name,
+ const svn_string_t *value,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool);
+
/**
* Given the error @a err from svn_repos_fs_commit_txn(), return an
* string containing either or both of the svn_fs_commit_txn() error
Modified: subversion/branches/addremove/subversion/include/private/svn_subr_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/subversion/include/private/svn_subr_private.h?rev=1813173&r1=1813172&r2=1813173&view=diff
==============================================================================
--- subversion/branches/addremove/subversion/include/private/svn_subr_private.h (original)
+++ subversion/branches/addremove/subversion/include/private/svn_subr_private.h Tue Oct 24 12:40:47 2017
@@ -112,12 +112,12 @@ svn_spillbuf__get_size(const svn_spillbu
svn_filesize_t
svn_spillbuf__get_memory_size(const svn_spillbuf_t *buf);
-/* Retrieve the name of the spill file. The returned value can be NULL
- if the file has not been created yet. */
+/* Retrieve the name of the spill file. The returned value will be
+ NULL if the file has not been created yet. */
const char *
svn_spillbuf__get_filename(const svn_spillbuf_t *buf);
-/* Retrieve the handle of the spill file. The returned value can be
+/* Retrieve the handle of the spill file. The returned value will be
NULL if the file has not been created yet. */
apr_file_t *
svn_spillbuf__get_file(const svn_spillbuf_t *buf);
@@ -133,8 +133,8 @@ svn_spillbuf__write(svn_spillbuf_t *buf,
/* Read a block of memory from the spill buffer. @a *data will be set to
NULL if no content remains. Otherwise, @a data and @a len will point to
data that must be fully-consumed by the caller. This data will remain
- valid until another call to svn_spillbuf_write(), svn_spillbuf_read(),
- or svn_spillbuf_process(), or if the spill buffer's pool is cleared. */
+ valid until another call to svn_spillbuf__write(), svn_spillbuf__read(),
+ or svn_spillbuf__process(), or if the spill buffer's pool is cleared. */
svn_error_t *
svn_spillbuf__read(const char **data,
apr_size_t *len,
@@ -143,7 +143,7 @@ svn_spillbuf__read(const char **data,
/* Callback for reading content out of the spill buffer. Set @a stop if
- you want to stop the processing (and will call svn_spillbuf_process
+ you want to stop the processing (and will call svn_spillbuf__process
again, at a later time). */
typedef svn_error_t * (*svn_spillbuf_read_t)(svn_boolean_t *stop,
void *baton,
@@ -472,7 +472,7 @@ svn_version__parse_version_string(svn_ve
* @since New in 1.8.
*/
svn_boolean_t
-svn_version__at_least(svn_version_t *version,
+svn_version__at_least(const svn_version_t *version,
int major,
int minor,
int patch);
Modified: subversion/branches/addremove/subversion/include/private/svn_utf_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/subversion/include/private/svn_utf_private.h?rev=1813173&r1=1813172&r2=1813173&view=diff
==============================================================================
--- subversion/branches/addremove/subversion/include/private/svn_utf_private.h (original)
+++ subversion/branches/addremove/subversion/include/private/svn_utf_private.h Tue Oct 24 12:40:47 2017
@@ -172,6 +172,18 @@ svn_utf__xfrm(const char **result,
svn_boolean_t accent_insensitive,
svn_membuf_t *buf);
+/* Return TRUE if S matches any of the const char * glob patterns in
+ * PATTERNS.
+ *
+ * S will internally be normalized to lower-case and accents removed
+ * using svn_utf__xfrm. To get a match, the PATTERNS must have been
+ * normalized accordingly before calling this function.
+ */
+svn_boolean_t
+svn_utf__fuzzy_glob_match(const char *str,
+ const apr_array_header_t *patterns,
+ svn_membuf_t *buf);
+
/* Check if STRING is a valid, NFC-normalized UTF-8 string. Note that
* a FALSE return value may indicate that STRING is not valid UTF-8 at
* all.
Modified: subversion/branches/addremove/subversion/include/private/svn_wc_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/subversion/include/private/svn_wc_private.h?rev=1813173&r1=1813172&r2=1813173&view=diff
==============================================================================
--- subversion/branches/addremove/subversion/include/private/svn_wc_private.h (original)
+++ subversion/branches/addremove/subversion/include/private/svn_wc_private.h Tue Oct 24 12:40:47 2017
@@ -1925,7 +1925,7 @@ svn_wc__conflict_tree_update_local_add(s
apr_pool_t *scratch_pool);
/* Find nodes in the working copy which corresponds to the new location
- * MOVED_TO_REPOS_RELPATH@REV of the tree conflict victim at VICTIM_ABSPATH.
+ * MOVED_TO_REPOS_RELPATH of the tree conflict victim at VICTIM_ABSPATH.
* The nodes must be of the same node kind as VICTIM_NODE_KIND.
* If no such node can be found, set *POSSIBLE_TARGETS to an empty array.
*
@@ -1935,10 +1935,10 @@ svn_wc__conflict_tree_update_local_add(s
* to the implementation of this function.
* Note that this function may not necessarily return a node which was
* actually moved. The only hard guarantee is that the node corresponds to
- * the repository node MOVED_TO_REPOS_RELPATH@REV specified by the caller.
- * In many cases, this will be a moved node if the caller's parameters are
- * correct. Users should be able to perform a sanity check on the results
- * returned from this function.
+ * the repository relpath MOVED_TO_REPOS_RELPATH specified by the caller.
+ * Users should perform a sanity check on the results returned from this
+ * function, e.g. establish whether the MOVED_TO_REPOS_RELPATH at its
+ * current checked-out revision shares ancestry with the conflict victim.
*/
svn_error_t *
svn_wc__guess_incoming_move_target_nodes(apr_array_header_t **possible_targets,
@@ -1946,7 +1946,6 @@ svn_wc__guess_incoming_move_target_nodes
const char *victim_abspath,
svn_node_kind_t victim_node_kind,
const char *moved_to_repos_relpath,
- svn_revnum_t rev,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
Modified: subversion/branches/addremove/subversion/include/svn_delta.h
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/subversion/include/svn_delta.h?rev=1813173&r1=1813172&r2=1813173&view=diff
==============================================================================
--- subversion/branches/addremove/subversion/include/svn_delta.h (original)
+++ subversion/branches/addremove/subversion/include/svn_delta.h Tue Oct 24 12:40:47 2017
@@ -693,9 +693,12 @@ svn_txdelta_skip_svndiff_window(apr_file
/** A structure full of callback functions the delta source will invoke
* as it produces the delta.
*
- * @note Don't try to allocate one of these yourself. Instead, always
- * use svn_delta_default_editor() or some other constructor, to ensure
- * that unused slots are filled in with no-op functions.
+ * @note Fields may be added to the end of this structure in future
+ * versions. Therefore, users shouldn't allocate structures of this
+ * type, to preserve binary compatibility.
+ *
+ * @note It is recommended to use svn_delta_default_editor() or some other
+ * constructor, to ensure that unused slots are filled in with no-op functions.
*
* <h3>Function Usage</h3>
*
@@ -1157,7 +1160,7 @@ typedef struct svn_delta_editor_t
* be ignored even if not NULL. If it is not ignored, it must match
* the checksum of the base text against which svndiff data is being
* applied; if it does not, @c apply_textdelta_stream call which detects
- * the mismatch will return the error SVN_ERR_CHECKSUM_MISMATCH
+ * the mismatch will return the error #SVN_ERR_CHECKSUM_MISMATCH
* (if there is no base text, there may still be an error if
* @a base_checksum is neither NULL nor the hex MD5 checksum of the
* empty string).
Modified: subversion/branches/addremove/subversion/include/svn_error_codes.h
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/subversion/include/svn_error_codes.h?rev=1813173&r1=1813172&r2=1813173&view=diff
==============================================================================
--- subversion/branches/addremove/subversion/include/svn_error_codes.h (original)
+++ subversion/branches/addremove/subversion/include/svn_error_codes.h Tue Oct 24 12:40:47 2017
@@ -240,6 +240,11 @@ SVN_ERROR_START
SVN_ERR_BAD_CATEGORY_START + 16,
"Invalid compression method")
+ /** @since New in 1.10. */
+ SVN_ERRDEF(SVN_ERR_BAD_PROPERTY_VALUE_EOL,
+ SVN_ERR_BAD_CATEGORY_START + 17,
+ "Unexpected line ending in the property value")
+
/* xml errors */
SVN_ERRDEF(SVN_ERR_XML_ATTRIB_NOT_FOUND,
Modified: subversion/branches/addremove/subversion/include/svn_repos.h
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/subversion/include/svn_repos.h?rev=1813173&r1=1813172&r2=1813173&view=diff
==============================================================================
--- subversion/branches/addremove/subversion/include/svn_repos.h (original)
+++ subversion/branches/addremove/subversion/include/svn_repos.h Tue Oct 24 12:40:47 2017
@@ -375,6 +375,24 @@ typedef void (*svn_repos_notify_func_t)(
const svn_repos_notify_t *notify,
apr_pool_t *scratch_pool);
+/** Callback for filtering repository contents during dump.
+ *
+ * Set @a *include to TRUE to indicate that node, identified by path
+ * @a path in @a root should be included in dump, or set it to @c FALSE
+ * to indicate that node should be excluded (presumably according to state
+ * stored in @a baton).
+ *
+ * Do not assume @a scratch_pool has any lifetime beyond this call.
+ *
+ * @since New in 1.10.
+ */
+typedef svn_error_t * (*svn_repos_dump_filter_func_t)(
+ svn_boolean_t *include,
+ svn_fs_root_t *root,
+ const char *path,
+ void *baton,
+ apr_pool_t *scratch_pool);
+
/**
* Allocate an #svn_repos_notify_t structure in @a result_pool, initialize
* and return it.
@@ -3310,6 +3328,9 @@ svn_repos_verify_fs(svn_repos_t *repos,
* reiterating the existence of previous warnings
* ### This is a presentation issue. Caller could do this itself.
*
+ * If @a filter_func is not @c NULL, it is called for each node being
+ * dumped, allowing the caller to exclude it from dump.
+ *
* If @a cancel_func is not @c NULL, it is called periodically with
* @a cancel_baton as argument to see if the client wishes to cancel
* the dump.
@@ -3329,13 +3350,16 @@ svn_repos_dump_fs4(svn_repos_t *repos,
svn_boolean_t include_changes,
svn_repos_notify_func_t notify_func,
void *notify_baton,
+ svn_repos_dump_filter_func_t filter_func,
+ void *filter_baton,
svn_cancel_func_t cancel_func,
void *cancel_baton,
apr_pool_t *pool);
/**
* Similar to svn_repos_dump_fs4(), but with @a include_revprops and
- * @a include_changes both set to @c TRUE.
+ * @a include_changes both set to @c TRUE and @a filter_func and
+ * @a filter_baton set to @c NULL.
*
* @since New in 1.7.
* @deprecated Provided for backward compatibility with the 1.9 API.
@@ -3436,6 +3460,15 @@ svn_repos_dump_fs(svn_repos_t *repos,
* to be stamped as if they were newly created via the normal commit
* process.
*
+ * If @a normalize_props is set, attempt to normalize invalid Subversion
+ * revision and node properties (those in the svn: namespace) so that
+ * their values would follow the established rules for them. For example,
+ * for such properties, typically the value must be in UTF-8 with LF
+ * line endings.
+ *
+ * @note The details or the performed normalizations are deliberately
+ * left unspecified and may change in the future.
+ *
* If non-NULL, use @a notify_func and @a notify_baton to send notification
* of events to the caller.
*
@@ -3443,8 +3476,34 @@ svn_repos_dump_fs(svn_repos_t *repos,
* @a cancel_baton as argument to see if the client wishes to cancel
* the load.
*
+ * @since New in 1.10.
+ */
+svn_error_t *
+svn_repos_load_fs6(svn_repos_t *repos,
+ svn_stream_t *dumpstream,
+ svn_revnum_t start_rev,
+ svn_revnum_t end_rev,
+ enum svn_repos_load_uuid uuid_action,
+ const char *parent_dir,
+ svn_boolean_t use_pre_commit_hook,
+ svn_boolean_t use_post_commit_hook,
+ svn_boolean_t validate_props,
+ svn_boolean_t ignore_dates,
+ svn_boolean_t normalize_props,
+ svn_repos_notify_func_t notify_func,
+ void *notify_baton,
+ svn_cancel_func_t cancel_func,
+ void *cancel_baton,
+ apr_pool_t *pool);
+
+/**
+ * Similar to svn_repos_load_fs6(), but with the @a normalize_props
+ * parameter always set to @c FALSE.
+ *
* @since New in 1.9.
+ * @deprecated Provided for backward compatibility with the 1.9 API.
*/
+SVN_DEPRECATED
svn_error_t *
svn_repos_load_fs5(svn_repos_t *repos,
svn_stream_t *dumpstream,
@@ -3567,6 +3626,15 @@ svn_repos_load_fs(svn_repos_t *repos,
* @a dumpstream, keeping whatever timestamps the revisions currently
* have.
*
+ * If @a normalize_props is set, attempt to normalize invalid Subversion
+ * revision and node properties (those in the svn: namespace) so that
+ * their values would follow the established rules for them. For example,
+ * for such properties, typically the value must be in UTF-8 with LF
+ * line endings.
+ *
+ * @note The details or the performed normalizations are deliberately
+ * left unspecified and may change in the future.
+ *
* If non-NULL, use @a notify_func and @a notify_baton to send notification
* of events to the caller.
*
@@ -3585,6 +3653,7 @@ svn_repos_load_fs_revprops(svn_repos_t *
svn_revnum_t end_rev,
svn_boolean_t validate_props,
svn_boolean_t ignore_dates,
+ svn_boolean_t normalize_props,
svn_repos_notify_func_t notify_func,
void *notify_baton,
svn_cancel_func_t cancel_func,
@@ -3788,12 +3857,47 @@ svn_repos_parse_dumpstream3(svn_stream_t
* to be stamped as if they were newly created via the normal commit
* process.
*
+ * If @a normalize_props is set, attempt to normalize invalid Subversion
+ * revision and node properties (those in the svn: namespace) so that
+ * their values would follow the established rules for them. For example,
+ * for such properties, typically the value must be in UTF-8 with LF
+ * line endings.
+ *
+ * @note The details or the performed normalizations are deliberately
+ * left unspecified and may change in the future.
+ *
* If @a parent_dir is not NULL, then the parser will reparent all the
* loaded nodes, from root to @a parent_dir. The directory @a parent_dir
* must be an existing directory in the repository.
*
+ * @since New in 1.10.
+ */
+svn_error_t *
+svn_repos_get_fs_build_parser6(const svn_repos_parse_fns3_t **parser,
+ void **parse_baton,
+ svn_repos_t *repos,
+ svn_revnum_t start_rev,
+ svn_revnum_t end_rev,
+ svn_boolean_t use_history,
+ svn_boolean_t validate_props,
+ enum svn_repos_load_uuid uuid_action,
+ const char *parent_dir,
+ svn_boolean_t use_pre_commit_hook,
+ svn_boolean_t use_post_commit_hook,
+ svn_boolean_t ignore_dates,
+ svn_boolean_t normalize_props,
+ svn_repos_notify_func_t notify_func,
+ void *notify_baton,
+ apr_pool_t *pool);
+
+/**
+ * Similar to svn_repos_get_fs_build_parser6(), but with the
+ * @a normalize_props parameter always set to @c FALSE.
+ *
* @since New in 1.9.
+ * @deprecated Provided for backward compatibility with the 1.9 API.
*/
+SVN_DEPRECATED
svn_error_t *
svn_repos_get_fs_build_parser5(const svn_repos_parse_fns3_t **parser,
void **parse_baton,
Modified: subversion/branches/addremove/subversion/include/svn_string.h
URL: http://svn.apache.org/viewvc/subversion/branches/addremove/subversion/include/svn_string.h?rev=1813173&r1=1813172&r2=1813173&view=diff
==============================================================================
--- subversion/branches/addremove/subversion/include/svn_string.h (original)
+++ subversion/branches/addremove/subversion/include/svn_string.h Tue Oct 24 12:40:47 2017
@@ -533,9 +533,25 @@ svn_cstring_count_newlines(const char *m
* of char *) each followed by @a separator (that is, @a separator
* will also end the resulting string). Allocate the result in @a pool.
* If @a strings is empty, then return the empty string.
+ * If @a trailing_separator is non-zero, also append the separator
+ * after the last joined element.
+ *
+ * @since New in 1.10.
+ */
+char *
+svn_cstring_join2(const apr_array_header_t *strings,
+ const char *separator,
+ svn_boolean_t trailing_separator,
+ apr_pool_t *pool);
+
+/**
+ * Similar to svn_cstring_join2(), but always includes the trailing
+ * separator.
*
* @since New in 1.2.
+ * @deprecated Provided for backwards compatibility with the 1.9 API.
*/
+SVN_DEPRECATED
char *
svn_cstring_join(const apr_array_header_t *strings,
const char *separator,