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 ? &notifyCallback : 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,


Reply via email to