Author: ivan
Date: Tue Aug 26 13:00:03 2014
New Revision: 1620589
URL: http://svn.apache.org/r1620589
Log:
On remove-log-addressing branch: Merge changes from trunk.
Added:
subversion/branches/remove-log-addressing/notes/api-errata/1.9/
- copied from r1620574, subversion/trunk/notes/api-errata/1.9/
subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/deprecated.cpp
- copied unchanged from r1620574,
subversion/trunk/subversion/bindings/javahl/native/deprecated.cpp
subversion/branches/remove-log-addressing/subversion/svn-bench/
- copied from r1620574, subversion/trunk/subversion/svn-bench/
subversion/branches/remove-log-addressing/subversion/svnfsfs/
- copied from r1620574,
subversion/branches/remove-log-addressing/tools/server-side/svnfsfs/
subversion/branches/remove-log-addressing/subversion/tests/templates/
- copied from r1620574, subversion/trunk/subversion/tests/templates/
Removed:
subversion/branches/remove-log-addressing/subversion/include/private/svn_file.h
subversion/branches/remove-log-addressing/subversion/libsvn_subr/file.c
subversion/branches/remove-log-addressing/tools/client-side/svn-bench/
subversion/branches/remove-log-addressing/tools/server-side/svn-rep-sharing-stats.c
subversion/branches/remove-log-addressing/tools/server-side/svnfsfs/
Modified:
subversion/branches/remove-log-addressing/ (props changed)
subversion/branches/remove-log-addressing/CHANGES
subversion/branches/remove-log-addressing/build.conf
subversion/branches/remove-log-addressing/build/generator/gen_win_dependencies.py
subversion/branches/remove-log-addressing/build/run_tests.py
subversion/branches/remove-log-addressing/configure.ac
subversion/branches/remove-log-addressing/notes/ (props changed)
subversion/branches/remove-log-addressing/notes/api-errata/1.8/fs001.txt
(contents, props changed)
subversion/branches/remove-log-addressing/notes/wc-ng/conflict-storage-2.0
subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/SVNClient.cpp
subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/SVNRepos.cpp
subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/SVNRepos.h
subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp
subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/org_apache_subversion_javahl_util_DiffLib.cpp
subversion/branches/remove-log-addressing/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java
subversion/branches/remove-log-addressing/subversion/bindings/javahl/src/org/apache/subversion/javahl/ReposNotifyInformation.java
subversion/branches/remove-log-addressing/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java
subversion/branches/remove-log-addressing/subversion/bindings/swig/include/svn_string.swg
subversion/branches/remove-log-addressing/subversion/bindings/swig/python/svn/core.py
subversion/branches/remove-log-addressing/subversion/bindings/swig/ruby/test/test_ra.rb
subversion/branches/remove-log-addressing/subversion/bindings/swig/svn_wc.i
subversion/branches/remove-log-addressing/subversion/include/private/svn_diff_private.h
subversion/branches/remove-log-addressing/subversion/include/private/svn_diff_tree.h
subversion/branches/remove-log-addressing/subversion/include/private/svn_mutex.h
subversion/branches/remove-log-addressing/subversion/include/private/svn_string_private.h
subversion/branches/remove-log-addressing/subversion/include/private/svn_wc_private.h
subversion/branches/remove-log-addressing/subversion/include/svn_config.h
subversion/branches/remove-log-addressing/subversion/include/svn_diff.h
subversion/branches/remove-log-addressing/subversion/include/svn_error_codes.h
subversion/branches/remove-log-addressing/subversion/include/svn_fs.h
subversion/branches/remove-log-addressing/subversion/include/svn_repos.h
subversion/branches/remove-log-addressing/subversion/include/svn_string.h
subversion/branches/remove-log-addressing/subversion/include/svn_types.h
subversion/branches/remove-log-addressing/subversion/include/svn_wc.h
subversion/branches/remove-log-addressing/subversion/libsvn_client/diff.c
subversion/branches/remove-log-addressing/subversion/libsvn_client/externals.c
subversion/branches/remove-log-addressing/subversion/libsvn_client/merge.c
subversion/branches/remove-log-addressing/subversion/libsvn_client/mtcc.c
subversion/branches/remove-log-addressing/subversion/libsvn_delta/svndiff.c
subversion/branches/remove-log-addressing/subversion/libsvn_delta/text_delta.c
subversion/branches/remove-log-addressing/subversion/libsvn_diff/deprecated.c
subversion/branches/remove-log-addressing/subversion/libsvn_diff/diff_file.c
subversion/branches/remove-log-addressing/subversion/libsvn_diff/diff_memory.c
subversion/branches/remove-log-addressing/subversion/libsvn_diff/util.c
subversion/branches/remove-log-addressing/subversion/libsvn_fs/fs-loader.c
subversion/branches/remove-log-addressing/subversion/libsvn_fs_base/bdb/env.c
subversion/branches/remove-log-addressing/subversion/libsvn_fs_fs/caching.c
subversion/branches/remove-log-addressing/subversion/libsvn_fs_fs/fs.c
subversion/branches/remove-log-addressing/subversion/libsvn_fs_fs/fs.h
subversion/branches/remove-log-addressing/subversion/libsvn_fs_fs/fs_fs.c
subversion/branches/remove-log-addressing/subversion/libsvn_fs_fs/fs_fs.h
subversion/branches/remove-log-addressing/subversion/libsvn_fs_fs/hotcopy.c
subversion/branches/remove-log-addressing/subversion/libsvn_fs_fs/id.c
subversion/branches/remove-log-addressing/subversion/libsvn_fs_fs/structure
subversion/branches/remove-log-addressing/subversion/libsvn_fs_x/ (props
changed)
subversion/branches/remove-log-addressing/subversion/libsvn_fs_x/fs.c
subversion/branches/remove-log-addressing/subversion/libsvn_fs_x/id.c
subversion/branches/remove-log-addressing/subversion/libsvn_fs_x/index.c
subversion/branches/remove-log-addressing/subversion/libsvn_fs_x/noderevs.c
subversion/branches/remove-log-addressing/subversion/libsvn_fs_x/string_table.c
subversion/branches/remove-log-addressing/subversion/libsvn_fs_x/tree.c
subversion/branches/remove-log-addressing/subversion/libsvn_ra_serf/ra_serf.h
subversion/branches/remove-log-addressing/subversion/libsvn_ra_serf/replay.c
subversion/branches/remove-log-addressing/subversion/libsvn_ra_serf/serf.c
subversion/branches/remove-log-addressing/subversion/libsvn_ra_serf/update.c
subversion/branches/remove-log-addressing/subversion/libsvn_ra_svn/cyrus_auth.c
subversion/branches/remove-log-addressing/subversion/libsvn_subr/cache-inprocess.c
subversion/branches/remove-log-addressing/subversion/libsvn_subr/cache-membuffer.c
subversion/branches/remove-log-addressing/subversion/libsvn_subr/config_file.c
subversion/branches/remove-log-addressing/subversion/libsvn_subr/debug.c
subversion/branches/remove-log-addressing/subversion/libsvn_subr/deprecated.c
subversion/branches/remove-log-addressing/subversion/libsvn_subr/dso.c
subversion/branches/remove-log-addressing/subversion/libsvn_subr/error.c
subversion/branches/remove-log-addressing/subversion/libsvn_subr/io.c
subversion/branches/remove-log-addressing/subversion/libsvn_subr/mutex.c
subversion/branches/remove-log-addressing/subversion/libsvn_subr/named_atomic.c
subversion/branches/remove-log-addressing/subversion/libsvn_subr/object_pool.c
subversion/branches/remove-log-addressing/subversion/libsvn_subr/root_pools.c
subversion/branches/remove-log-addressing/subversion/libsvn_subr/string.c
subversion/branches/remove-log-addressing/subversion/libsvn_subr/utf.c
subversion/branches/remove-log-addressing/subversion/libsvn_wc/adm_crawler.c
subversion/branches/remove-log-addressing/subversion/libsvn_wc/conflicts.c
subversion/branches/remove-log-addressing/subversion/libsvn_wc/conflicts.h
subversion/branches/remove-log-addressing/subversion/libsvn_wc/deprecated.c
subversion/branches/remove-log-addressing/subversion/libsvn_wc/diff_editor.c
subversion/branches/remove-log-addressing/subversion/libsvn_wc/diff_local.c
subversion/branches/remove-log-addressing/subversion/libsvn_wc/entries.c
subversion/branches/remove-log-addressing/subversion/libsvn_wc/externals.c
subversion/branches/remove-log-addressing/subversion/libsvn_wc/info.c
subversion/branches/remove-log-addressing/subversion/libsvn_wc/merge.c
subversion/branches/remove-log-addressing/subversion/libsvn_wc/props.c
subversion/branches/remove-log-addressing/subversion/libsvn_wc/props.h
subversion/branches/remove-log-addressing/subversion/libsvn_wc/tree_conflicts.c
subversion/branches/remove-log-addressing/subversion/libsvn_wc/tree_conflicts.h
subversion/branches/remove-log-addressing/subversion/libsvn_wc/update_editor.c
subversion/branches/remove-log-addressing/subversion/libsvn_wc/upgrade.c
subversion/branches/remove-log-addressing/subversion/libsvn_wc/util.c
subversion/branches/remove-log-addressing/subversion/libsvn_wc/wc.h
subversion/branches/remove-log-addressing/subversion/libsvn_wc/wc_db.h
subversion/branches/remove-log-addressing/subversion/libsvn_wc/workqueue.c
subversion/branches/remove-log-addressing/subversion/libsvn_wc/workqueue.h
subversion/branches/remove-log-addressing/subversion/mod_dav_svn/util.c
subversion/branches/remove-log-addressing/subversion/po/es.po
subversion/branches/remove-log-addressing/subversion/po/fr.po
subversion/branches/remove-log-addressing/subversion/po/it.po
subversion/branches/remove-log-addressing/subversion/po/ja.po
subversion/branches/remove-log-addressing/subversion/po/ko.po
subversion/branches/remove-log-addressing/subversion/po/nb.po
subversion/branches/remove-log-addressing/subversion/po/pl.po
subversion/branches/remove-log-addressing/subversion/po/pt_BR.po
subversion/branches/remove-log-addressing/subversion/po/zh_TW.po
subversion/branches/remove-log-addressing/subversion/svn/cl-conflicts.c
subversion/branches/remove-log-addressing/subversion/svn/conflict-callbacks.c
subversion/branches/remove-log-addressing/subversion/svn/status.c
subversion/branches/remove-log-addressing/subversion/svnfsfs/stats-cmd.c
subversion/branches/remove-log-addressing/subversion/svnlook/svnlook.c
subversion/branches/remove-log-addressing/subversion/svnserve/logger.c
subversion/branches/remove-log-addressing/subversion/tests/cmdline/authz_tests.py
subversion/branches/remove-log-addressing/subversion/tests/cmdline/diff_tests.py
subversion/branches/remove-log-addressing/subversion/tests/cmdline/relocate_tests.py
subversion/branches/remove-log-addressing/subversion/tests/cmdline/svnadmin_tests.py
subversion/branches/remove-log-addressing/subversion/tests/cmdline/svntest/actions.py
subversion/branches/remove-log-addressing/subversion/tests/cmdline/svntest/main.py
subversion/branches/remove-log-addressing/subversion/tests/cmdline/switch_tests.py
subversion/branches/remove-log-addressing/subversion/tests/cmdline/tree_conflict_tests.py
subversion/branches/remove-log-addressing/subversion/tests/libsvn_diff/diff-diff3-test.c
subversion/branches/remove-log-addressing/subversion/tests/libsvn_fs/
(props changed)
subversion/branches/remove-log-addressing/subversion/tests/libsvn_fs/fs-test.c
subversion/branches/remove-log-addressing/subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c
subversion/branches/remove-log-addressing/subversion/tests/libsvn_subr/
(props changed)
subversion/branches/remove-log-addressing/subversion/tests/libsvn_subr/translate-test.c
subversion/branches/remove-log-addressing/subversion/tests/libsvn_wc/conflict-data-test.c
subversion/branches/remove-log-addressing/subversion/tests/libsvn_wc/utils.c
subversion/branches/remove-log-addressing/subversion/tests/svn_test_fs.c
subversion/branches/remove-log-addressing/subversion/tests/svn_test_main.c
subversion/branches/remove-log-addressing/tools/dev/svnraisetreeconflict/svnraisetreeconflict.c
subversion/branches/remove-log-addressing/tools/dev/unix-build/Makefile.svn
subversion/branches/remove-log-addressing/tools/diff/diff.c
subversion/branches/remove-log-addressing/tools/diff/diff3.c
subversion/branches/remove-log-addressing/tools/diff/diff4.c
Propchange: subversion/branches/remove-log-addressing/
------------------------------------------------------------------------------
Merged /subversion/trunk:r1617439-1620574
Modified: subversion/branches/remove-log-addressing/CHANGES
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/CHANGES?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
--- subversion/branches/remove-log-addressing/CHANGES (original)
+++ subversion/branches/remove-log-addressing/CHANGES Tue Aug 26 13:00:03 2014
@@ -138,6 +138,7 @@ http://svn.apache.org/repos/asf/subversi
* alow the use of libmagic to be configured via subversion configuration
file or SVN_CONFIG_OPTION_ENABLE_MAGIC_FILE env variable (r1572916)
* store human readable info about SSL certs in auth store (r1573625)
+ * new 'http-pipelining' configuration option for serf (r1619072)
- Client-side bugfixes:
* export: fix problem exporting symlinks on windows (r1476093)
Modified: subversion/branches/remove-log-addressing/build.conf
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/build.conf?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
--- subversion/branches/remove-log-addressing/build.conf (original)
+++ subversion/branches/remove-log-addressing/build.conf Tue Aug 26 13:00:03
2014
@@ -427,7 +427,7 @@ install = tools
[svnfsfs]
description = Subversion FSFS Repository Manipulation Tool
type = exe
-path = tools/server-side/svnfsfs
+path = subversion/svnfsfs
install = bin
libs = libsvn_repos libsvn_fs libsvn_fs_fs libsvn_delta libsvn_subr apriconv
apr
msvc-libs = setargv.obj
@@ -1458,7 +1458,7 @@ libs = svn svnadmin svndumpfilter svnloo
svnversion
mod_authz_svn mod_dav_svn mod_dontdothat
svnauthz svnauthz-validate svnraisetreeconflict
- svnfsfs
+ svnfsfs svn-bench
[__ALL_TESTS__]
type = project
@@ -1494,8 +1494,8 @@ libs = __ALL__
type = project
path = build/win32
libs = __ALL_TESTS__
- diff diff3 diff4 fsfs-access-map svnauth svn-bench
- svn-rep-sharing-stats svn-populate-node-origins-index
+ diff diff3 diff4 fsfs-access-map svnauth
+ svn-populate-node-origins-index
[__LIBS__]
type = project
@@ -1568,7 +1568,7 @@ libs = libsvn_diff libsvn_subr apriconv
[svn-bench]
type = exe
-path = tools/client-side/svn-bench
+path = subversion/svn-bench
install = tools
libs = libsvn_client libsvn_wc libsvn_ra libsvn_subr libsvn_delta
apriconv apr
@@ -1608,10 +1608,3 @@ type = exe
path = tools/dev/svnraisetreeconflict
libs = libsvn_wc libsvn_subr apriconv apr
install = tools
-
-[svn-rep-sharing-stats]
-type = exe
-path = tools/server-side
-sources = svn-rep-sharing-stats.c
-install = tools
-libs = libsvn_repos libsvn_fs libsvn_fs_fs libsvn_subr apriconv apr
Modified:
subversion/branches/remove-log-addressing/build/generator/gen_win_dependencies.py
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/build/generator/gen_win_dependencies.py?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
---
subversion/branches/remove-log-addressing/build/generator/gen_win_dependencies.py
(original)
+++
subversion/branches/remove-log-addressing/build/generator/gen_win_dependencies.py
Tue Aug 26 13:00:03 2014
@@ -1381,7 +1381,7 @@ class GenDependenciesBase(gen_base.Gener
lib_name = None
defines.append('SVN_SQLITE_INLINE')
else:
- sys.stderr.write("ERROR: SQLite not found\n" % self.sqlite_path)
+ sys.stderr.write("ERROR: SQLite not found\n")
sys.stderr.write("Use '--with-sqlite' option to configure sqlite
location.\n");
sys.exit(1)
Modified: subversion/branches/remove-log-addressing/build/run_tests.py
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/build/run_tests.py?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
--- subversion/branches/remove-log-addressing/build/run_tests.py (original)
+++ subversion/branches/remove-log-addressing/build/run_tests.py Tue Aug 26
13:00:03 2014
@@ -191,6 +191,13 @@ class TestHarness:
TextColors.disable()
self.skip_c_tests = (not not skip_c_tests)
+ # Parse out the FSFS version number
+ if self.fs_type is not None and self.fs_type.startswith('fsfs-v'):
+ self.fsfs_version = int(self.fs_type[6:])
+ self.fs_type = 'fsfs'
+ else:
+ self.fsfs_version = None
+
def run(self, list):
'''Run all test programs given in LIST. Print a summary of results, if
there is a log file. Return zero iff all test programs passed.'''
@@ -384,6 +391,8 @@ class TestHarness:
cmdline.append('--cleanup')
if self.fs_type is not None:
cmdline.append('--fs-type=' + self.fs_type)
+ if self.fsfs_version is not None:
+ cmdline.append('--fsfs-version=%d' % self.fsfs_version)
if self.server_minor_version is not None:
cmdline.append('--server-minor-version=' + self.server_minor_version)
if self.list_tests is not None:
@@ -470,7 +479,7 @@ class TestHarness:
svntest.main.options.enable_sasl = True
if self.parallel is not None:
try:
- num_parallel = int(self.parallel)
+ num_parallel = int(self.parallel)
except exceptions.ValueError:
num_parallel = svntest.main.default_num_threads
if num_parallel > 1:
@@ -485,6 +494,8 @@ class TestHarness:
svntest.main.options.cleanup = True
if self.fs_type is not None:
svntest.main.options.fs_type = self.fs_type
+ if self.fsfs_version is not None:
+ svntest.main.options.fsfs_version = self.fsfs_version
if self.http_library is not None:
svntest.main.options.http_library = self.http_library
if self.server_minor_version is not None:
Modified: subversion/branches/remove-log-addressing/configure.ac
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/configure.ac?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
--- subversion/branches/remove-log-addressing/configure.ac (original)
+++ subversion/branches/remove-log-addressing/configure.ac Tue Aug 26 13:00:03
2014
@@ -90,13 +90,8 @@ AC_SUBST([MKDIR])
dnl verify apr version and set apr flags
dnl These regular expressions should not contain "\(" and "\)".
-dnl The specific reason we require APR 0.9.7 is:
-dnl It contains fixes to its file writing routines
-dnl now generating errors instead of silently ignoring
-dnl them. Only .7 and later can guarantee repository
-dnl integrity with FSFS.
-APR_VER_REGEXES=["1\.[345]\. 2\."]
+APR_VER_REGEXES=["1\.[3-9]\. 2\."]
SVN_LIB_APR($APR_VER_REGEXES)
@@ -112,7 +107,7 @@ if test `expr $apr_version : 2` -ne 0; t
SVN_APR_MAJOR_VERSION=2
else
svn_lib_ver=0
- APU_VER_REGEXES=["1\.[345]\."]
+ APU_VER_REGEXES=["1\.[3-9]\."]
SVN_LIB_APRUTIL($APU_VER_REGEXES)
SVN_APR_MAJOR_VERSION=1
fi
@@ -1065,14 +1060,13 @@ AS_HELP_STRING([--enable-maintainer-mode
SVN_CFLAGS_ADD_IFELSE([-Wold-style-definition])
SVN_CFLAGS_ADD_IFELSE([-Wno-system-headers])
SVN_CFLAGS_ADD_IFELSE([-Wno-format-nonliteral])
- SVN_CFLAGS_ADD_IFELSE([-Wno-string-plus-int])
SVN_CFLAGS_ADD_IFELSE([-Wmissing-variable-declarations])
CMAINTAINERFLAGS="$CFLAGS"
CFLAGS="$CFLAGS_KEEP"
dnl Add flags that all versions of GCC (should) support
- CMAINTAINERFLAGS="-Wall -Wpointer-arith -Wwrite-strings -Wshadow
-Wformat=2 -Wunused -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes
-Wmissing-declarations -Wno-multichar -Wredundant-decls -Wnested-externs
-Winline -Wno-long-long $CMAINTAINERFLAGS"
+ CMAINTAINERFLAGS="-Wall -Wpointer-arith -Wwrite-strings -Wshadow
-Wformat=2 -Wunused -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes
-Wmissing-declarations -Wno-multichar -Wredundant-decls -Wnested-externs
-Winline -Wno-long-long -Wbad-function-cast $CMAINTAINERFLAGS"
fi
if test "$GXX" = "yes"; then
AC_MSG_NOTICE([maintainer-mode: adding G++ warning flags])
Propchange: subversion/branches/remove-log-addressing/notes/
------------------------------------------------------------------------------
Merged /subversion/trunk/notes:r1603891-1620574
Modified:
subversion/branches/remove-log-addressing/notes/api-errata/1.8/fs001.txt
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/notes/api-errata/1.8/fs001.txt?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
--- subversion/branches/remove-log-addressing/notes/api-errata/1.8/fs001.txt
(original)
+++ subversion/branches/remove-log-addressing/notes/api-errata/1.8/fs001.txt
Tue Aug 26 13:00:03 2014
@@ -1,4 +1,4 @@
-API ERRATE -- $Id$
+API ERRATA -- $Id$
Root Cause of Errata: implementation/docstring mismatch
Library(s) Affected: libsvn_fs_fs, libsvn_fs_base, libsvn_repos
Propchange:
subversion/branches/remove-log-addressing/notes/api-errata/1.8/fs001.txt
------------------------------------------------------------------------------
svn:keywords = Id
Modified:
subversion/branches/remove-log-addressing/notes/wc-ng/conflict-storage-2.0
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/notes/wc-ng/conflict-storage-2.0?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
--- subversion/branches/remove-log-addressing/notes/wc-ng/conflict-storage-2.0
(original)
+++ subversion/branches/remove-log-addressing/notes/wc-ng/conflict-storage-2.0
Tue Aug 26 13:00:03 2014
@@ -81,9 +81,14 @@ this format in a future version if we wa
path from before the update/switch. The new location is already available in
BASE so doesn't have to be duplicated. If the node is an addition the empty
list is used.
+### stsp: The implementation *does* duplicate the new BASE node in the skel
+### in a second PATH_REV item.
Merge will have 2 items: the left and right paths. These can come from a
different repository.
+### stsp: The implementation is storing the pre-merge BASE node, and
+### the incoming merge-right node. What about merge-left?
+### How can merge-left/merge-right come from a different repository?
An empty skel specifies that there is no location. (Tree conflicts and/or
upgrade scenarios). Future versions may introduce other origins.
Modified:
subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/SVNClient.cpp
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/SVNClient.cpp?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
---
subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/SVNClient.cpp
(original)
+++
subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/SVNClient.cpp
Tue Aug 26 13:00:03 2014
@@ -732,28 +732,7 @@ void SVNClient::merge(const char *path,
subPool.getPool()), );
}
-void SVNClient::mergeReintegrate(const char *path, Revision &pegRevision,
- const char *localPath, bool dryRun)
-{
- SVN::Pool subPool(pool);
- SVN_JNI_NULL_PTR_EX(path, "path", );
- SVN_JNI_NULL_PTR_EX(localPath, "localPath", );
- Path intLocalPath(localPath, subPool);
- SVN_JNI_ERR(intLocalPath.error_occurred(), );
-
- Path srcPath(path, subPool);
- SVN_JNI_ERR(srcPath.error_occurred(), );
-
- svn_client_ctx_t *ctx = context.getContext(NULL, subPool);
- if (ctx == NULL)
- return;
-
- SVN_JNI_ERR(svn_client_merge_reintegrate(srcPath.c_str(),
- pegRevision.revision(),
- intLocalPath.c_str(),
- dryRun, NULL, ctx,
- subPool.getPool()), );
-}
+/* SVNClient::mergeReintegrate is implemented in deprecated.cpp. */
jobject
SVNClient::getMergeinfo(const char *target, Revision &pegRevision)
Modified:
subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/SVNRepos.cpp
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/SVNRepos.cpp?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
---
subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/SVNRepos.cpp
(original)
+++
subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/SVNRepos.cpp
Tue Aug 26 13:00:03 2014
@@ -251,7 +251,8 @@ void SVNRepos::dump(File &path, OutputSt
}
void SVNRepos::hotcopy(File &path, File &targetPath,
- bool cleanLogs, bool incremental)
+ bool cleanLogs, bool incremental,
+ ReposNotifyCallback *notifyCallback)
{
SVN::Pool requestPool;
@@ -267,9 +268,13 @@ void SVNRepos::hotcopy(File &path, File
return;
}
- SVN_JNI_ERR(svn_repos_hotcopy2(path.getInternalStyle(requestPool),
+ SVN_JNI_ERR(svn_repos_hotcopy3(path.getInternalStyle(requestPool),
targetPath.getInternalStyle(requestPool),
cleanLogs, incremental,
+ notifyCallback != NULL
+ ? ReposNotifyCallback::notify
+ : NULL,
+ notifyCallback,
checkCancel, this /* cancel callback/baton */,
requestPool.getPool()),
);
Modified:
subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/SVNRepos.h
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/SVNRepos.h?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
---
subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/SVNRepos.h
(original)
+++
subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/SVNRepos.h
Tue Aug 26 13:00:03 2014
@@ -64,7 +64,8 @@ class SVNRepos : public SVNBase
void listUnusedDBLogs(File &path,
MessageReceiver &messageReceiver);
void listDBLogs(File &path, MessageReceiver &messageReceiver);
- void hotcopy(File &path, File &targetPath, bool cleanLogs, bool incremental);
+ void hotcopy(File &path, File &targetPath, bool cleanLogs, bool incremental,
+ ReposNotifyCallback *notifyCallback);
void dump(File &path, OutputStream &dataOut, Revision &revsionStart,
Revision &RevisionEnd, bool incremental, bool useDeltas,
ReposNotifyCallback *notifyCallback);
Modified:
subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
---
subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp
(original)
+++
subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp
Tue Aug 26 13:00:03 2014
@@ -170,7 +170,7 @@ Java_org_apache_subversion_javahl_SVNRep
JNIEXPORT void JNICALL
Java_org_apache_subversion_javahl_SVNRepos_hotcopy
(JNIEnv *env, jobject jthis, jobject jpath, jobject jtargetPath,
- jboolean jcleanLogs, jboolean jincremental)
+ jboolean jcleanLogs, jboolean jincremental, jobject jnotifyCallback)
{
JNIEntry(SVNRepos, hotcopy);
SVNRepos *cl = SVNRepos::getCppObject(jthis);
@@ -188,8 +188,11 @@ Java_org_apache_subversion_javahl_SVNRep
if (JNIUtil::isExceptionThrown())
return;
+ ReposNotifyCallback notifyCallback(jnotifyCallback);
+
cl->hotcopy(path, targetPath, jcleanLogs ? true : false,
- jincremental ? true : false);
+ jincremental ? true : false,
+ jnotifyCallback != NULL ? ¬ifyCallback : NULL);
}
JNIEXPORT void JNICALL
Modified:
subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/org_apache_subversion_javahl_util_DiffLib.cpp
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/org_apache_subversion_javahl_util_DiffLib.cpp?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
---
subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/org_apache_subversion_javahl_util_DiffLib.cpp
(original)
+++
subversion/branches/remove-log-addressing/subversion/bindings/javahl/native/org_apache_subversion_javahl_util_DiffLib.cpp
Tue Aug 26 13:00:03 2014
@@ -190,7 +190,7 @@ Java_org_apache_subversion_javahl_util_D
OutputStream result_stream(jresult_stream);
- SVN_JNI_ERR(svn_diff_file_output_merge2(
+ SVN_JNI_ERR(svn_diff_file_output_merge3(
result_stream.getStream(pool), diff,
original.c_str(), modified.c_str(), latest.c_str(),
conflict_original.c_str(),
@@ -198,6 +198,7 @@ Java_org_apache_subversion_javahl_util_D
conflict_latest.c_str(),
conflict_separator.c_str(),
svn_diff_conflict_display_style_t(jconflict_style_ordinal),
+ NULL, NULL,
pool.getPool()),
false);
Modified:
subversion/branches/remove-log-addressing/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
---
subversion/branches/remove-log-addressing/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java
(original)
+++
subversion/branches/remove-log-addressing/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java
Tue Aug 26 13:00:03 2014
@@ -97,7 +97,7 @@ public interface ISVNRepos {
* @param end the last revision to be dumped
* @param incremental the dump will be incremantal
* @param useDeltas the dump will contain deltas between nodes
- * @param callback the callback to receive notifications
+ * @param callback the callback to receive notifications
* @throws ClientException throw in case of problem
*/
public abstract void dump(File path, OutputStream dataOut,
@@ -111,10 +111,18 @@ public interface ISVNRepos {
* @param targetPath the path to the target repository
* @param cleanLogs clean the unused log files in the source
* repository
+ * @param callback the callback to receive notifications
* @throws ClientException throw in case of problem
+ * @since 1.9
*/
public abstract void hotcopy(File path, File targetPath,
- boolean cleanLogs, boolean incremental) throws
ClientException;
+ boolean cleanLogs, boolean incremental,
+ ReposNotifyCallback callback)
+ throws ClientException;
+
+ public abstract void hotcopy(File path, File targetPath,
+ boolean cleanLogs, boolean incremental)
+ throws ClientException;
public abstract void hotcopy(File path, File targetPath,
boolean cleanLogs) throws ClientException;
Modified:
subversion/branches/remove-log-addressing/subversion/bindings/javahl/src/org/apache/subversion/javahl/ReposNotifyInformation.java
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/bindings/javahl/src/org/apache/subversion/javahl/ReposNotifyInformation.java?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
---
subversion/branches/remove-log-addressing/subversion/bindings/javahl/src/org/apache/subversion/javahl/ReposNotifyInformation.java
(original)
+++
subversion/branches/remove-log-addressing/subversion/bindings/javahl/src/org/apache/subversion/javahl/ReposNotifyInformation.java
Tue Aug 26 13:00:03 2014
@@ -196,7 +196,37 @@ public class ReposNotifyInformation exte
* The structure of a revision is being verified.
* @since 1.8
*/
- verify_rev_structure;
+ verify_rev_structure,
+
+ /**
+ * A revision is found with corruption/errors.
+ * @since 1.9
+ */
+ failure,
+
+ /**
+ * A revprop shard got packed. @
+ * @since 1.9
+ */
+ pack_revprops,
+
+ /**
+ * A non-packed revprop shard got removed.
+ * @since 1.9
+ */
+ cleanup_revprops,
+
+ /**
+ * The repository format got bumped.
+ * @since 1.9
+ */
+ format_bumped,
+
+ /**
+ * A revision range was copied.
+ * @since 1.9
+ */
+ hotcopy_rev_range;
}
public enum NodeAction
Modified:
subversion/branches/remove-log-addressing/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
---
subversion/branches/remove-log-addressing/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java
(original)
+++
subversion/branches/remove-log-addressing/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java
Tue Aug 26 13:00:03 2014
@@ -122,22 +122,22 @@ public class SVNRepos implements ISVNRep
boolean useDeltas, ReposNotifyCallback callback)
throws ClientException;
- /**
- * make a hot copy of the repository
- * @param path the path to the source repository
- * @param targetPath the path to the target repository
- * @param cleanLogs clean the unused log files in the source
- * repository
- * @throws ClientException throw in case of problem
- */
public native void hotcopy(File path, File targetPath,
- boolean cleanLogs, boolean incremental)
+ boolean cleanLogs, boolean incremental,
+ ReposNotifyCallback callback)
throws ClientException;
public void hotcopy(File path, File targetPath,
+ boolean cleanLogs, boolean incremental)
+ throws ClientException
+ {
+ hotcopy(path, targetPath, cleanLogs, incremental, null);
+ }
+
+ public void hotcopy(File path, File targetPath,
boolean cleanLogs) throws ClientException
{
- hotcopy(path, targetPath, cleanLogs, false);
+ hotcopy(path, targetPath, cleanLogs, false, null);
}
/**
Modified:
subversion/branches/remove-log-addressing/subversion/bindings/swig/include/svn_string.swg
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/bindings/swig/include/svn_string.swg?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
---
subversion/branches/remove-log-addressing/subversion/bindings/swig/include/svn_string.swg
(original)
+++
subversion/branches/remove-log-addressing/subversion/bindings/swig/include/svn_string.swg
Tue Aug 26 13:00:03 2014
@@ -208,11 +208,6 @@ typedef struct svn_string_t svn_string_t
/* when storing an svn_string_t* into a structure, we must allocate the
svn_string_t structure on the heap. */
-#ifdef SWIGPYTHON
-%typemap(memberin) const svn_string_t * {
- $1 = svn_string_dup($input, _global_pool);
-}
-#endif
#ifdef SWIGPERL
%typemap(memberin) const svn_string_t * {
$1 = svn_string_dup($input, _global_pool);
Modified:
subversion/branches/remove-log-addressing/subversion/bindings/swig/python/svn/core.py
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/bindings/swig/python/svn/core.py?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
---
subversion/branches/remove-log-addressing/subversion/bindings/swig/python/svn/core.py
(original)
+++
subversion/branches/remove-log-addressing/subversion/bindings/swig/python/svn/core.py
Tue Aug 26 13:00:03 2014
@@ -169,6 +169,8 @@ class Stream:
self._stream = stream
def read(self, amt=None):
+ if self._stream is None:
+ raise ValueError
if amt is None:
# read the rest of the stream
chunks = [ ]
@@ -183,9 +185,15 @@ class Stream:
return svn_stream_read(self._stream, int(amt))
def write(self, buf):
+ if self._stream is None:
+ raise ValueError
### what to do with the amount written? (the result value)
svn_stream_write(self._stream, buf)
+ def close(self):
+ svn_stream_close(self._stream)
+ self._stream = None
+
def secs_from_timestr(svn_datetime, pool=None):
"""Convert a Subversion datetime string into seconds since the Epoch."""
aprtime = svn_time_from_cstring(svn_datetime, pool)
Modified:
subversion/branches/remove-log-addressing/subversion/bindings/swig/ruby/test/test_ra.rb
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/bindings/swig/ruby/test/test_ra.rb?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
---
subversion/branches/remove-log-addressing/subversion/bindings/swig/ruby/test/test_ra.rb
(original)
+++
subversion/branches/remove-log-addressing/subversion/bindings/swig/ruby/test/test_ra.rb
Tue Aug 26 13:00:03 2014
@@ -38,8 +38,7 @@ class SvnRaTest < Test::Unit::TestCase
def test_uuid
Svn::Ra::Session.open(@repos_uri) do |session|
- assert_equal(File.read(File.join(@repos_path, "db", "uuid")).strip,
- session.uuid)
+ assert_equal(@repos.fs.uuid, session.uuid)
end
end
Modified:
subversion/branches/remove-log-addressing/subversion/bindings/swig/svn_wc.i
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/bindings/swig/svn_wc.i?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
--- subversion/branches/remove-log-addressing/subversion/bindings/swig/svn_wc.i
(original)
+++ subversion/branches/remove-log-addressing/subversion/bindings/swig/svn_wc.i
Tue Aug 26 13:00:03 2014
@@ -40,8 +40,9 @@
*/
%ignore svn_wc_set_auth_file;
-/* ### ignore this structure because the accessors will need a pool */
+/* ### ignore these structures because the accessors will need a pool */
%ignore svn_wc_keywords_t;
+%ignore svn_wc_conflict_description2_t;
#ifdef SWIGRUBY
%ignore svn_wc_external_item_create;
Modified:
subversion/branches/remove-log-addressing/subversion/include/private/svn_diff_private.h
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/include/private/svn_diff_private.h?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
---
subversion/branches/remove-log-addressing/subversion/include/private/svn_diff_private.h
(original)
+++
subversion/branches/remove-log-addressing/subversion/include/private/svn_diff_private.h
Tue Aug 26 13:00:03 2014
@@ -97,6 +97,9 @@ svn_diff__unidiff_write_header(svn_strea
* merged or reverse merged; otherwise (or if the mergeinfo property values
* don't parse correctly) display them just like any other property.
*
+ * Pass @a context_size, @a cancel_func and @a cancel_baton to the diff
+ * output functions.
+ *
* Use @a scratch_pool for temporary allocations.
*/
svn_error_t *
@@ -105,6 +108,9 @@ svn_diff__display_prop_diffs(svn_stream_
const apr_array_header_t *propchanges,
apr_hash_t *original_props,
svn_boolean_t pretty_print_mergeinfo,
+ int context_size,
+ svn_cancel_func_t cancel_func,
+ void *cancel_baton,
apr_pool_t *scratch_pool);
Modified:
subversion/branches/remove-log-addressing/subversion/include/private/svn_diff_tree.h
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/include/private/svn_diff_tree.h?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
---
subversion/branches/remove-log-addressing/subversion/include/private/svn_diff_tree.h
(original)
+++
subversion/branches/remove-log-addressing/subversion/include/private/svn_diff_tree.h
Tue Aug 26 13:00:03 2014
@@ -103,18 +103,22 @@ extern "C" {
* Note that it is possible for nodes to be described as a delete followed by
* an add at the same place within one parent. (Iff the diff is reversed you
* can see an add followed by a delete!)
+ * ### "An add followed by a delete" sounds wrong.
*
* The directory batons live between the open and close events of a directory
* and are thereby guaranteed to outlive the batons of their descendants.
*/
/* Describes the source of a merge */
+/* ### You mean a diff?
+ * ### How come many users don't set the 'repos_relpath' field? */
typedef struct svn_diff_source_t
{
/* Always available */
svn_revnum_t revision;
/* Depending on the driver available for copyfrom */
+ /* ### What? */
const char *repos_relpath;
} svn_diff_source_t;
@@ -137,9 +141,10 @@ typedef struct svn_diff_tree_processor_t
{
/** The value passed to svn_diff__tree_processor_create() as BATON.
*/
- void *baton; /* To avoid an additional in some places */
+ void *baton; /* To avoid an additional in some places
+ * ### What? */
- /* Called before a directories children are processed.
+ /* Called before a directory's children are processed.
*
* Set *SKIP_CHILDREN to TRUE, to skip calling callbacks for all
* children.
Modified:
subversion/branches/remove-log-addressing/subversion/include/private/svn_mutex.h
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/include/private/svn_mutex.h?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
---
subversion/branches/remove-log-addressing/subversion/include/private/svn_mutex.h
(original)
+++
subversion/branches/remove-log-addressing/subversion/include/private/svn_mutex.h
Tue Aug 26 13:00:03 2014
@@ -54,16 +54,13 @@ typedef struct svn_mutex__t svn_mutex__t
* We don't support recursive locks, i.e. a thread may not acquire the same
* mutex twice without releasing it in between. Attempts to lock a mutex
* recursively will cause lock ups and other undefined behavior on some
- * systems. If @a checked is set, svn_mutex__lock() will try to detect that
- * situation and return an error. However, this comes with some system
- * dependent overhead and may not detect all violations.
+ * systems.
*
* If threading is not supported by APR, this function is a no-op.
*/
svn_error_t *
svn_mutex__init(svn_mutex__t **mutex,
svn_boolean_t mutex_required,
- svn_boolean_t checked,
apr_pool_t *result_pool);
/** Acquire the @a mutex, if that has been enabled in svn_mutex__init().
Modified:
subversion/branches/remove-log-addressing/subversion/include/private/svn_string_private.h
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/include/private/svn_string_private.h?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
---
subversion/branches/remove-log-addressing/subversion/include/private/svn_string_private.h
(original)
+++
subversion/branches/remove-log-addressing/subversion/include/private/svn_string_private.h
Tue Aug 26 13:00:03 2014
@@ -139,13 +139,6 @@ svn_stringbuf__morph_into_string(svn_str
unsigned long
svn__strtoul(const char *buffer, const char **end);
-/** Like strtol but with a fixed base of 10 and without overflow checks.
- * This allows the compiler to generate massively faster code.
- * (E.g. Avoiding locale specific processing)
- */
-long
-svn__strtol(const char *buffer, const char **end);
-
/** Number of chars needed to represent signed (19 places + sign + NUL) or
* unsigned (20 places + NUL) integers as strings.
*/
Modified:
subversion/branches/remove-log-addressing/subversion/include/private/svn_wc_private.h
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/include/private/svn_wc_private.h?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
---
subversion/branches/remove-log-addressing/subversion/include/private/svn_wc_private.h
(original)
+++
subversion/branches/remove-log-addressing/subversion/include/private/svn_wc_private.h
Tue Aug 26 13:00:03 2014
@@ -82,8 +82,6 @@ svn_wc__get_file_external_editor(const s
const char *recorded_url,
const svn_opt_revision_t *recorded_peg_rev,
const svn_opt_revision_t *recorded_rev,
- svn_wc_conflict_resolver_func2_t
conflict_func,
- void *conflict_baton,
svn_cancel_func_t cancel_func,
void *cancel_baton,
svn_wc_notify_func2_t notify_func,
@@ -293,7 +291,7 @@ svn_wc__close_db(const char *external_ab
* use @a scratch_pool for temporary allocations.
*/
svn_error_t *
-svn_wc__get_tree_conflict(const svn_wc_conflict_description3_t **tree_conflict,
+svn_wc__get_tree_conflict(const svn_wc_conflict_description2_t **tree_conflict,
svn_wc_context_t *wc_ctx,
const char *victim_abspath,
apr_pool_t *result_pool,
@@ -311,7 +309,7 @@ svn_wc__get_tree_conflict(const svn_wc_c
*/
svn_error_t *
svn_wc__add_tree_conflict(svn_wc_context_t *wc_ctx,
- const svn_wc_conflict_description3_t *conflict,
+ const svn_wc_conflict_description2_t *conflict,
apr_pool_t *scratch_pool);
/* Remove any tree conflict on victim @a victim_abspath using @a wc_ctx.
@@ -355,26 +353,6 @@ svn_wc__get_wcroot(const char **wcroot_a
*/
/*
- * Convert from svn_wc_conflict_description3_t to
- * svn_wc_conflict_description2_t.
- *
- * Allocate the result in RESULT_POOL.
- */
-svn_wc_conflict_description2_t *
-svn_wc__cd3_to_cd2(const svn_wc_conflict_description3_t *conflict,
- apr_pool_t *result_pool);
-
-/*
- * Convert an array of svn_wc_conflict_description3_t * elements to an
- * array of * svn_wc_conflict_description2_t * elements.
- *
- * Allocate the result in RESULT_POOL.
- */
-apr_array_header_t *
-svn_wc__cd3_array_to_cd2_array(const apr_array_header_t *conflicts,
- apr_pool_t *result_pool);
-
-/*
* Convert from svn_wc_conflict_description2_t to
* svn_wc_conflict_description_t. This is needed by some backwards-compat
* code in libsvn_client/ctx.c
@@ -1575,8 +1553,12 @@ svn_wc__get_switch_editor(const svn_delt
* if they weren't modified after being copied. This allows the callbacks
* to generate appropriate --git diff headers for such files.
*
- * Normally, the difference from repository->working_copy is shown.
- * If @a reverse_order is TRUE, then show working_copy->repository diffs.
+ * Normally, the difference from repository->working_copy is shown. If
+ * @a reverse_order is TRUE, then we want to show working_copy->repository
+ * diffs. Most of the reversal is done by the caller; here we just swap the
+ * order of reporting a replacement so that the local addition is reported
+ * before the remote delete. (The caller's diff processor can then transform
+ * adds into deletes and deletes into adds, but it can't reorder the output.)
*
* If @a cancel_func is non-NULL, it will be used along with @a cancel_baton
* to periodically check if the client has canceled the operation.
Modified:
subversion/branches/remove-log-addressing/subversion/include/svn_config.h
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/include/svn_config.h?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
--- subversion/branches/remove-log-addressing/subversion/include/svn_config.h
(original)
+++ subversion/branches/remove-log-addressing/subversion/include/svn_config.h
Tue Aug 26 13:00:03 2014
@@ -97,6 +97,8 @@ typedef struct svn_config_t svn_config_t
#define SVN_CONFIG_OPTION_HTTP_MAX_CONNECTIONS "http-max-connections"
/** @since New in 1.9. */
#define SVN_CONFIG_OPTION_HTTP_CHUNKED_REQUESTS "http-chunked-requests"
+/** @since New in 1.9. */
+#define SVN_CONFIG_OPTION_HTTP_PIPELINING "http-pipelining"
/** @since New in 1.9. */
#define SVN_CONFIG_OPTION_SERF_LOG_COMPONENTS "serf-log-components"
Modified:
subversion/branches/remove-log-addressing/subversion/include/svn_diff.h
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/include/svn_diff.h?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
--- subversion/branches/remove-log-addressing/subversion/include/svn_diff.h
(original)
+++ subversion/branches/remove-log-addressing/subversion/include/svn_diff.h Tue
Aug 26 13:00:03 2014
@@ -479,7 +479,7 @@ typedef struct svn_diff_file_options_t
svn_boolean_t show_c_function;
/** The number of context lines produced above and below modifications, if
- * available. The number of context lines must be >= 1.
+ * available. The number of context lines must be >= 0.
*
* @since New in 1.9 */
int context_size;
@@ -623,7 +623,7 @@ svn_diff_file_diff4(svn_diff_t **diff,
* path of the target, an error is returned. Finally, if @a relative_to_dir
* is a URL, an error will be returned.
*
- * If @a context_size is greater than 0, then this number of context lines
+ * If @a context_size is not negative, then this number of context lines
* will be used in the generated diff output. Otherwise the legacy compile
* time default will be used.
*
@@ -645,7 +645,7 @@ svn_diff_file_output_unified4(svn_stream
apr_pool_t *scratch_pool);
/** Similar to svn_diff_file_output_unified3(), but without cancel
- * support and with @a context_size -1.
+ * support and with @a context_size set to -1.
*
* @since New in 1.5.
* @deprecated Provided for backwards compatibility with the 1.8 API.
@@ -706,8 +706,30 @@ svn_diff_file_output_unified(svn_stream_
* @a conflict_separator is @c NULL, a default marker will be displayed.
* @a conflict_style dictates how conflicts are displayed.
*
+ * @since New in 1.9.
+ */
+svn_error_t *
+svn_diff_file_output_merge3(svn_stream_t *output_stream,
+ svn_diff_t *diff,
+ const char *original_path,
+ const char *modified_path,
+ const char *latest_path,
+ const char *conflict_original,
+ const char *conflict_modified,
+ const char *conflict_latest,
+ const char *conflict_separator,
+ svn_diff_conflict_display_style_t conflict_style,
+ svn_cancel_func_t cancel_func,
+ void *cancel_baton,
+ apr_pool_t *pool);
+
+/** Similar to svn_diff_file_output_merge3, but without cancel support.
+ *
* @since New in 1.6.
+ *
+ * @deprecated Provided for backward compatibility with the 1.8 API.
*/
+SVN_DEPRECATED
svn_error_t *
svn_diff_file_output_merge2(svn_stream_t *output_stream,
svn_diff_t *diff,
@@ -831,8 +853,35 @@ svn_diff_mem_string_diff4(svn_diff_t **d
* final line use the text "\ No newline at end of property" instead of
* "\ No newline at end of file".
*
+ * If @a context_size is not negative, then this number of context lines
+ * will be used in the generated diff output. Otherwise the legacy compile
+ * time default will be used.
+ *
+ * @since New in 1.9
+ */
+svn_error_t *
+svn_diff_mem_string_output_unified3(svn_stream_t *output_stream,
+ svn_diff_t *diff,
+ svn_boolean_t with_diff_header,
+ const char *hunk_delimiter,
+ const char *original_header,
+ const char *modified_header,
+ const char *header_encoding,
+ const svn_string_t *original,
+ const svn_string_t *modified,
+ int context_size,
+ svn_cancel_func_t cancel_func,
+ void *cancel_baton,
+ apr_pool_t *pool);
+
+/** Similar to svn_diff_mem_string_output_unified3() but without
+ * cancel support and with @a context_size set to -1.
+ *
* @since New in 1.7. Hunk delimiter "##" has the special meaning since 1.8.
+ *
+ * @deprecated Provided for backwards compatibility with the 1.8 API.
*/
+SVN_DEPRECATED
svn_error_t *
svn_diff_mem_string_output_unified2(svn_stream_t *output_stream,
svn_diff_t *diff,
@@ -850,7 +899,10 @@ svn_diff_mem_string_output_unified2(svn_
* set to NULL.
*
* @since New in 1.5.
+ *
+ * @deprecated Provided for backwards compatibility with the 1.8 API.
*/
+SVN_DEPRECATED
svn_error_t *
svn_diff_mem_string_output_unified(svn_stream_t *output_stream,
svn_diff_t *diff,
@@ -871,8 +923,30 @@ svn_diff_mem_string_output_unified(svn_s
*
* @a conflict_style dictates how conflicts are displayed.
*
+ * @since New in 1.9.
+ */
+svn_error_t *
+svn_diff_mem_string_output_merge3(svn_stream_t *output_stream,
+ svn_diff_t *diff,
+ const svn_string_t *original,
+ const svn_string_t *modified,
+ const svn_string_t *latest,
+ const char *conflict_original,
+ const char *conflict_modified,
+ const char *conflict_latest,
+ const char *conflict_separator,
+ svn_diff_conflict_display_style_t style,
+ svn_cancel_func_t cancel_func,
+ void *cancel_baton,
+ apr_pool_t *pool);
+
+/** Similar to svn_diff_mem_string_output_merge2(), but without cancel support.
+ *
* @since New in 1.6.
+ *
+ * @deprecated Provided for backwards compatibility with the 1.8 API.
*/
+SVN_DEPRECATED
svn_error_t *
svn_diff_mem_string_output_merge2(svn_stream_t *output_stream,
svn_diff_t *diff,
Modified:
subversion/branches/remove-log-addressing/subversion/include/svn_error_codes.h
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/include/svn_error_codes.h?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
---
subversion/branches/remove-log-addressing/subversion/include/svn_error_codes.h
(original)
+++
subversion/branches/remove-log-addressing/subversion/include/svn_error_codes.h
Tue Aug 26 13:00:03 2014
@@ -1426,18 +1426,8 @@ SVN_ERROR_START
"Additional errors:")
/** @since New in 1.9. */
- SVN_ERRDEF(SVN_ERR_RECURSIVE_LOCK,
- SVN_ERR_MISC_CATEGORY_START + 43,
- "Recursive locks are not supported")
-
- /** @since New in 1.9. */
- SVN_ERRDEF(SVN_ERR_INVALID_UNLOCK,
- SVN_ERR_MISC_CATEGORY_START + 44,
- "Tried to release a non-locked mutex")
-
- /** @since New in 1.9. */
SVN_ERRDEF(SVN_ERR_INVALID_INPUT,
- SVN_ERR_MISC_CATEGORY_START + 45,
+ SVN_ERR_MISC_CATEGORY_START + 43,
"Parser error: invalid input")
/* command-line client errors */
Modified: subversion/branches/remove-log-addressing/subversion/include/svn_fs.h
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/include/svn_fs.h?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
--- subversion/branches/remove-log-addressing/subversion/include/svn_fs.h
(original)
+++ subversion/branches/remove-log-addressing/subversion/include/svn_fs.h Tue
Aug 26 13:00:03 2014
@@ -573,6 +573,11 @@ typedef svn_error_t *(*svn_fs_freeze_fun
* Take an exclusive lock on @a fs to prevent commits and then invoke
* @a freeze_func passing @a freeze_baton.
*
+ * @note @a freeze_func must not, directly or indirectly, call any function
+ * that attempts to take out a lock on the underlying repository. These
+ * include functions for packing, hotcopying, setting revprops and commits.
+ * Attempts to do so may result in a deadlock.
+ *
* @note The BDB backend doesn't implement this feature so most
* callers should not call this function directly but should use the
* higher level svn_repos_freeze() instead.
@@ -1400,7 +1405,7 @@ typedef enum svn_fs_path_change_kind_t
svn_fs_path_change_replace,
/** ignore all previous change items for path (internal-use only) */
- svn_fs_path_change_reset,
+ svn_fs_path_change_reset
} svn_fs_path_change_kind_t;
/** Change descriptor.
Modified:
subversion/branches/remove-log-addressing/subversion/include/svn_repos.h
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/include/svn_repos.h?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
--- subversion/branches/remove-log-addressing/subversion/include/svn_repos.h
(original)
+++ subversion/branches/remove-log-addressing/subversion/include/svn_repos.h
Tue Aug 26 13:00:03 2014
@@ -813,6 +813,11 @@ typedef svn_error_t *(*svn_repos_freeze_
* FS backend the repository uses. Repositories are locked in the
* order in which they are specified in the array.
*
+ * @note @a freeze_func must not, directly or indirectly, call any function
+ * that attempts to take out a lock on the underlying repository. These
+ * include functions for packing, hotcopying, setting revprops and commits.
+ * Attempts to do so may result in a deadlock.
+ *
* @note On some platforms the exclusive lock does not exclude other
* threads in the same process so this function should only be called
* by a single threaded process, or by a multi-threaded process when
Modified:
subversion/branches/remove-log-addressing/subversion/include/svn_string.h
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/include/svn_string.h?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
--- subversion/branches/remove-log-addressing/subversion/include/svn_string.h
(original)
+++ subversion/branches/remove-log-addressing/subversion/include/svn_string.h
Tue Aug 26 13:00:03 2014
@@ -525,6 +525,7 @@ svn_cstring_casecmp(const char *str1, co
* Assume that the number is represented in base @a base.
* Raise an error if conversion fails (e.g. due to overflow), or if the
* converted number is smaller than @a minval or larger than @a maxval.
+ * Leading whitespace in @a str is skipped in a locale-dependent way.
*
* @since New in 1.7.
*/
@@ -537,6 +538,7 @@ svn_cstring_strtoi64(apr_int64_t *n, con
* Parse the C string @a str into a 64 bit number, and return it in @a *n.
* Assume that the number is represented in base 10.
* Raise an error if conversion fails (e.g. due to overflow).
+ * Leading whitespace in @a str is skipped in a locale-dependent way.
*
* @since New in 1.7.
*/
@@ -547,6 +549,7 @@ svn_cstring_atoi64(apr_int64_t *n, const
* Parse the C string @a str into a 32 bit number, and return it in @a *n.
* Assume that the number is represented in base 10.
* Raise an error if conversion fails (e.g. due to overflow).
+ * Leading whitespace in @a str is skipped in a locale-dependent way.
*
* @since New in 1.7.
*/
@@ -558,6 +561,7 @@ svn_cstring_atoi(int *n, const char *str
* it in @a *n. Assume that the number is represented in base @a base.
* Raise an error if conversion fails (e.g. due to overflow), or if the
* converted number is smaller than @a minval or larger than @a maxval.
+ * Leading whitespace in @a str is skipped in a locale-dependent way.
*
* @since New in 1.7.
*/
@@ -570,6 +574,7 @@ svn_cstring_strtoui64(apr_uint64_t *n, c
* Parse the C string @a str into an unsigned 64 bit number, and return
* it in @a *n. Assume that the number is represented in base 10.
* Raise an error if conversion fails (e.g. due to overflow).
+ * Leading whitespace in @a str is skipped in a locale-dependent way.
*
* @since New in 1.7.
*/
@@ -580,6 +585,7 @@ svn_cstring_atoui64(apr_uint64_t *n, con
* Parse the C string @a str into an unsigned 32 bit number, and return
* it in @a *n. Assume that the number is represented in base 10.
* Raise an error if conversion fails (e.g. due to overflow).
+ * Leading whitespace in @a str is skipped in a locale-dependent way.
*
* @since New in 1.7.
*/
Modified:
subversion/branches/remove-log-addressing/subversion/include/svn_types.h
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/include/svn_types.h?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
--- subversion/branches/remove-log-addressing/subversion/include/svn_types.h
(original)
+++ subversion/branches/remove-log-addressing/subversion/include/svn_types.h
Tue Aug 26 13:00:03 2014
@@ -433,8 +433,6 @@ typedef long int svn_revnum_t;
#define SVN_IGNORED_REVNUM ((svn_revnum_t) -1)
/** Convert NULL-terminated C string @a str to a revision number. */
-/* When in a hot path, consider using svn__strtol() instead; atol() may be
- locale-aware and thus slower. */
#define SVN_STR_TO_REV(str) ((svn_revnum_t) atol(str))
/**
Modified: subversion/branches/remove-log-addressing/subversion/include/svn_wc.h
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/include/svn_wc.h?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
--- subversion/branches/remove-log-addressing/subversion/include/svn_wc.h
(original)
+++ subversion/branches/remove-log-addressing/subversion/include/svn_wc.h Tue
Aug 26 13:00:03 2014
@@ -1748,108 +1748,6 @@ svn_wc_conflict_version_t *
svn_wc_conflict_version_dup(const svn_wc_conflict_version_t *version,
apr_pool_t *pool);
-/** A struct that describes a conflict that has occurred in the
- * working copy.
- *
- * The conflict described by this structure is one of:
- * - a conflict on the content of the file node @a local_abspath
- * - a conflict on the property @a property_name of @a local_abspath
- * - a tree conflict, of which @a local_abspath is the victim
- * Be aware that the victim of a tree conflict can be a non-existent node.
- * The three kinds of conflict are distinguished by @a kind.
- *
- * @note Fields may be added to the end of this structure in future
- * versions. Therefore, to preserve binary compatibility, users
- * should not directly allocate structures of this type but should use
- * svn_wc_conflict_description_create_text3() or
- * svn_wc_conflict_description_create_prop3() or
- * svn_wc_conflict_description_create_tree3() instead.
- *
- * @since New in 1.9.
- */
-typedef struct svn_wc_conflict_description3_t
-{
- /** The path that is in conflict (for a tree conflict, it is the victim) */
- const char *local_abspath;
-
- /** The node type of the path being operated on (for a tree conflict,
- * ### which version?) */
- svn_node_kind_t node_kind;
-
- /** What sort of conflict are we describing? */
- svn_wc_conflict_kind_t kind;
-
- /** The name of the property whose conflict is being described.
- * (Only if @a kind is 'property'; else undefined.) */
- const char *property_name;
-
- /** Whether svn thinks ('my' version of) @c path is a 'binary' file.
- * (Only if @c kind is 'text', else undefined.) */
- svn_boolean_t is_binary;
-
- /** The svn:mime-type property of ('my' version of) @c path, if available,
- * else NULL.
- * (Only if @c kind is 'text', else undefined.) */
- const char *mime_type;
-
- /** The action being attempted on the conflicted node or property.
- * (When @c kind is 'text', this action must be 'edit'.) */
- svn_wc_conflict_action_t action;
-
- /** The state of the target node or property, relative to its merge-left
- * source, that is the reason for the conflict.
- * (When @c kind is 'text', this reason must be 'edited'.) */
- svn_wc_conflict_reason_t reason;
-
- /** If this is text-conflict and involves the merging of two files
- * descended from a common ancestor, here are the paths of up to
- * four fulltext files that can be used to interactively resolve the
- * conflict.
- *
- * @a base_abspath, @a their_abspath and @a my_abspath are absolute
- * paths.
- *
- * All four files will be in repository-normal form -- Standardized LF
- * and contracted keywords. (If any of these files are not available
- * they default to NULL.)
- *
- * On the other hand, if this is a property-conflict, then these
- * paths represent temporary files that contain the three different
- * property-values in conflict. The fourth path (@c merged_file)
- * may or may not be NULL; if set, it represents libsvn_wc's
- * attempt to merge the property values together. (Remember that files
- * and property values are technically binary values, and thus can't
- * always be merged.)
- */
- const char *base_abspath; /* common ancestor of the two files being merged
*/
-
- /** their version of the file */
- const char *their_abspath;
-
- /** my locally-edited version of the file */
- const char *my_abspath;
-
- /** merged version; may contain conflict markers */
- const char *merged_abspath;
-
- /** For property conflicts, the path to the property reject file. */
- const char *prop_reject_abspath;
-
- /** The operation that exposed the conflict.
- * Used only for tree conflicts.
- */
- svn_wc_operation_t operation;
-
- /** Info on the "merge-left source" or "older" version of incoming change. */
- const svn_wc_conflict_version_t *src_left_version;
-
- /** Info on the "merge-right source" or "their" version of incoming change.
*/
- const svn_wc_conflict_version_t *src_right_version;
-
- /* Remember to adjust svn_wc__conflict_description3_dup()
- * if you add new fields to this struct. */
-} svn_wc_conflict_description3_t;
-
/** A struct that describes a conflict that has occurred in the
* working copy.
@@ -1869,15 +1767,16 @@ typedef struct svn_wc_conflict_descripti
* svn_wc_conflict_description_create_tree2() instead.
*
* @since New in 1.7.
- * @deprecated Provided for backward compatibility with the 1.8 API.
*/
typedef struct svn_wc_conflict_description2_t
{
/** The path that is in conflict (for a tree conflict, it is the victim) */
const char *local_abspath;
- /** The node type of the path being operated on (for a tree conflict,
- * ### which version?) */
+ /** The node type of the local node involved in this conflict.
+ * For a tree conflict, this is the node kind of the tree conflict victim.
+ * For the left/right node kinds of the incoming conflicting change see
+ * src_left_version->node_kind and src_right_version->node_kind. */
svn_node_kind_t node_kind;
/** What sort of conflict are we describing? */
@@ -1896,13 +1795,19 @@ typedef struct svn_wc_conflict_descripti
* (Only if @c kind is 'text', else undefined.) */
const char *mime_type;
- /** The action being attempted on the conflicted node or property.
- * (When @c kind is 'text', this action must be 'edit'.) */
+ /** The incoming action being attempted on the conflicted node or property.
+ * When @c kind is 'text', this action must be 'edit', but generally it can
+ * be any kind of possible change. */
svn_wc_conflict_action_t action;
- /** The state of the target node or property, relative to its merge-left
- * source, that is the reason for the conflict.
- * (When @c kind is 'text', this reason must be 'edited'.) */
+ /** The local change or state of the target node or property, relative
+ * to its merge-left source, that conflicts with the incoming action.
+ * When @c kind is 'text', this must be 'edited', but generally it can
+ * be any kind of possible change.
+ * Note that 'local' does not always refer to a working copy. A change
+ * can be local to the target branch of a merge operation, for example,
+ * and is not necessarily visible in a working copy of the target branch
+ * at any given revision. */
svn_wc_conflict_reason_t reason;
/** If this is text-conflict and involves the merging of two files
@@ -1937,7 +1842,8 @@ typedef struct svn_wc_conflict_descripti
/** my locally-edited version of the file */
const char *my_abspath;
- /** merged version; may contain conflict markers */
+ /** merged version; may contain conflict markers
+ * ### For property conflicts, this contains 'their_abspath'. */
const char *merged_file;
/** The operation that exposed the conflict.
@@ -1951,8 +1857,44 @@ typedef struct svn_wc_conflict_descripti
/** Info on the "merge-right source" or "their" version of incoming change.
*/
const svn_wc_conflict_version_t *src_right_version;
- /* Remember to adjust svn_wc__conflict_description2_dup()
- * if you add new fields to this struct. */
+ /* For property conflicts, the absolute path to the .prej file.
+ * @since New in 1.9. */
+ const char *prop_reject_abspath;
+
+ /* For property conflicts, the local base value of the property, i.e. the
+ * value of the property as of the BASE revision of the working copy.
+ * For conflicts created during update/switch this contains the
+ * post-update/switch property value. The pre-update/switch value can
+ * be found in prop_value_incoming_old.
+ * Only set if available, so might be @c NULL.
+ * @since New in 1.9. */
+ const svn_string_t *prop_value_base;
+
+ /* For property conflicts, the local working value of the property,
+ * i.e. the value of the property in the working copy, possibly with
+ * local modiciations.
+ * Only set if available, so might be @c NULL.
+ * @since New in 1.9. */
+ const svn_string_t *prop_value_working;
+
+ /* For property conflicts, the incoming old value of the property,
+ * i.e. the value the property had at @c src_left_version.
+ * Only set if available, so might be @c NULL.
+ * @since New in 1.9 */
+ const svn_string_t *prop_value_incoming_old;
+
+ /* For property conflicts, the incoming new value of the property,
+ * i.e. the value the property had at @c src_right_version.
+ * Only set if available, so might be @c NULL.
+ * @since New in 1.9 */
+ const svn_string_t *prop_value_incoming_new;
+
+/* NOTE: Add new fields at the end to preserve binary compatibility.
+ Also, if you add fields here, you have to update
+ svn_wc_conflict_description2_dup and perhaps
+ svn_wc_conflict_description_create_text2,
+ svn_wc_conflict_description_create_prop2, and
+ svn_wc_conflict_description_create_tree2. */
} svn_wc_conflict_description2_t;
@@ -2048,7 +1990,7 @@ typedef struct svn_wc_conflict_descripti
} svn_wc_conflict_description_t;
/**
- * Allocate an #svn_wc_conflict_description3_t structure in @a result_pool,
+ * Allocate an #svn_wc_conflict_description2_t structure in @a result_pool,
* initialize to represent a text conflict, and return it.
*
* Set the @c local_abspath field of the created struct to @a local_abspath
@@ -2060,19 +2002,8 @@ typedef struct svn_wc_conflict_descripti
* @note It is the caller's responsibility to set the other required fields
* (such as the four file names and @c mime_type and @c is_binary).
*
- * @since New in 1.9.
- */
-svn_wc_conflict_description3_t *
-svn_wc_conflict_description_create_text3(const char *local_abspath,
- apr_pool_t *result_pool);
-
-/** Similar to svn_wc_conflict_description_create_text3(), but returns
- * an svn_wc_conflict_description2_t *.
- *
* @since New in 1.7.
- * @deprecated Provided for backward compatibility with the 1.8 API.
*/
-SVN_DEPRECATED
svn_wc_conflict_description2_t *
svn_wc_conflict_description_create_text2(const char *local_abspath,
apr_pool_t *result_pool);
@@ -2091,7 +2022,7 @@ svn_wc_conflict_description_create_text(
apr_pool_t *pool);
/**
- * Allocate an #svn_wc_conflict_description3_t structure in @a result_pool,
+ * Allocate an #svn_wc_conflict_description2_t structure in @a result_pool,
* initialize to represent a property conflict, and return it.
*
* Set the @c local_abspath field of the created struct to @a local_abspath
@@ -2102,21 +2033,8 @@ svn_wc_conflict_description_create_text(
* @note: It is the caller's responsibility to set the other required fields
* (such as the four file names and @c action and @c reason).
*
- * @since New in 1.9.
- */
-svn_wc_conflict_description3_t *
-svn_wc_conflict_description_create_prop3(const char *local_abspath,
- svn_node_kind_t node_kind,
- const char *property_name,
- apr_pool_t *result_pool);
-
-/** Similar to svn_wc_conflict_description_create_prop3(), but returns
- * an svn_wc_conflict_description2_t *.
- *
* @since New in 1.7.
- * @deprecated Provided for backward compatibility with the 1.8 API.
*/
-SVN_DEPRECATED
svn_wc_conflict_description2_t *
svn_wc_conflict_description_create_prop2(const char *local_abspath,
svn_node_kind_t node_kind,
@@ -2138,37 +2056,21 @@ svn_wc_conflict_description_create_prop(
apr_pool_t *pool);
/**
- * Allocate an #svn_wc_conflict_description_t structure in @a pool,
+ * Allocate an #svn_wc_conflict_description2_t structure in @a pool,
* initialize to represent a tree conflict, and return it.
*
* Set the @c local_abspath field of the created struct to @a local_abspath
* (which must be an absolute path), the @c kind field to
- * #svn_wc_conflict_kind_tree, the @c node_kind to @a node_kind, the @c
- * operation to @a operation, the @c src_left_version field to
+ * #svn_wc_conflict_kind_tree, the @c local_node_kind to @a local_node_kind,
+ * the @c operation to @a operation, the @c src_left_version field to
* @a src_left_version, and the @c src_right_version field to
* @a src_right_version.
*
* @note: It is the caller's responsibility to set the other required fields
* (such as the four file names and @c action and @c reason).
*
- * @since New in 1.9.
- */
-svn_wc_conflict_description3_t *
-svn_wc_conflict_description_create_tree3(
- const char *local_abspath,
- svn_node_kind_t node_kind,
- svn_wc_operation_t operation,
- const svn_wc_conflict_version_t *src_left_version,
- const svn_wc_conflict_version_t *src_right_version,
- apr_pool_t *result_pool);
-
-/** Similar to svn_wc_conflict_description_create_tree3(), but returns
- * an svn_wc_conflict_description2_t *.
- *
* @since New in 1.7.
- * @deprecated Provided for backward compatibility with the 1.8 API.
*/
-SVN_DEPRECATED
svn_wc_conflict_description2_t *
svn_wc_conflict_description_create_tree2(
const char *local_abspath,
@@ -2200,16 +2102,16 @@ svn_wc_conflict_description_create_tree(
/** Return a duplicate of @a conflict, allocated in @a result_pool.
* A deep copy of all members will be made.
*
- * @since New in 1.9.
+ * @since New in 1.7.
*/
-svn_wc_conflict_description3_t *
-svn_wc__conflict_description3_dup(
- const svn_wc_conflict_description3_t *conflict,
+svn_wc_conflict_description2_t *
+svn_wc_conflict_description2_dup(
+ const svn_wc_conflict_description2_t *conflict,
apr_pool_t *result_pool);
-/** Like svn_wc__conflict_description3_dup(), but duplicates objects
- * of type svn_wc_conflict_description2_t.
+/** Like svn_wc_conflict_description2_dup(), but is improperly named
+ * as a private function when it is intended to be a public API.
*
* @since New in 1.7.
* @deprecated Provided for backward compatibility with the 1.8 API.
@@ -2324,21 +2226,7 @@ svn_wc_create_conflict_result(svn_wc_con
* of conflicts are automatically resolvable and which require user
* interaction.
*
- * @since New in 1.9.
- */
-typedef svn_error_t *(*svn_wc_conflict_resolver_func3_t)(
- svn_wc_conflict_result_t **result,
- const svn_wc_conflict_description3_t *description,
- void *baton,
- apr_pool_t *result_pool,
- apr_pool_t *scratch_pool);
-
-
-/** Similar to #svn_wc_conflict_resolver_func3_t, but expects an
- * svn_wc_conflict_description2_t description.
- *
* @since New in 1.7.
- * @deprecated Provided for backward compatibility with the 1.8 API.
*/
typedef svn_error_t *(*svn_wc_conflict_resolver_func2_t)(
svn_wc_conflict_result_t **result,
Modified:
subversion/branches/remove-log-addressing/subversion/libsvn_client/diff.c
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/libsvn_client/diff.c?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
--- subversion/branches/remove-log-addressing/subversion/libsvn_client/diff.c
(original)
+++ subversion/branches/remove-log-addressing/subversion/libsvn_client/diff.c
Tue Aug 26 13:00:03 2014
@@ -440,6 +440,8 @@ display_prop_diffs(const apr_array_heade
svn_boolean_t show_diff_header,
svn_boolean_t use_git_diff_format,
const char *ra_session_relpath,
+ svn_cancel_func_t cancel_func,
+ void *cancel_baton,
svn_wc_context_t *wc_ctx,
apr_pool_t *scratch_pool)
{
@@ -508,7 +510,9 @@ display_prop_diffs(const apr_array_heade
SVN_ERR(svn_diff__display_prop_diffs(
outstream, encoding, propchanges, original_props,
- TRUE /* pretty_print_mergeinfo */, scratch_pool));
+ TRUE /* pretty_print_mergeinfo */,
+ -1 /* context_size */,
+ cancel_func, cancel_baton, scratch_pool));
return SVN_NO_ERROR;
}
@@ -636,6 +640,8 @@ diff_props_changed(const char *diff_relp
show_diff_header,
dwi->use_git_diff_format,
dwi->ddi.session_relpath,
+ dwi->cancel_func,
+ dwi->cancel_baton,
dwi->wc_ctx,
scratch_pool));
}
@@ -847,8 +853,9 @@ diff_content_changed(svn_boolean_t *wrot
NULL, NULL, scratch_pool));
}
- /* We have a printed a diff for this path, mark it as visited. */
- *wrote_header = TRUE;
+ /* If we have printed a diff for this path, mark it as visited. */
+ if (exitcode == 1)
+ *wrote_header = TRUE;
}
else /* use libsvn_diff to generate the diff */
{
@@ -905,8 +912,9 @@ diff_content_changed(svn_boolean_t *wrot
dwi->cancel_func, dwi->cancel_baton,
scratch_pool));
- /* We have a printed a diff for this path, mark it as visited. */
- *wrote_header = TRUE;
+ /* If we have printed a diff for this path, mark it as visited. */
+ if (dwi->use_git_diff_format || svn_diff_contains_diffs(diff))
+ *wrote_header = TRUE;
}
}
@@ -1021,7 +1029,7 @@ diff_file_added(const char *relpath,
else if (copyfrom_source && right_file)
SVN_ERR(diff_content_changed(&wrote_header, relpath,
left_file, right_file,
- DIFF_REVNUM_NONEXISTENT,
+ copyfrom_source->revision,
right_source->revision,
svn_prop_get_value(left_props,
SVN_PROP_MIME_TYPE),
@@ -1184,7 +1192,8 @@ diff_dir_added(const char *relpath,
scratch_pool));
return svn_error_trace(diff_props_changed(relpath,
- DIFF_REVNUM_NONEXISTENT,
+ copyfrom_source ?
copyfrom_source->revision
+ :
DIFF_REVNUM_NONEXISTENT,
right_source->revision,
prop_changes,
left_props,
Modified:
subversion/branches/remove-log-addressing/subversion/libsvn_client/externals.c
URL:
http://svn.apache.org/viewvc/subversion/branches/remove-log-addressing/subversion/libsvn_client/externals.c?rev=1620589&r1=1620588&r2=1620589&view=diff
==============================================================================
---
subversion/branches/remove-log-addressing/subversion/libsvn_client/externals.c
(original)
+++
subversion/branches/remove-log-addressing/subversion/libsvn_client/externals.c
Tue Aug 26 13:00:03 2014
@@ -485,8 +485,6 @@ switch_file_external(const char *local_a
diff3_cmd, preserved_exts,
def_dir_abspath,
url, peg_revision, revision,
- ctx->conflict_func2,
- ctx->conflict_baton2,
ctx->cancel_func,
ctx->cancel_baton,
ctx->notify_func2,