subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From stef...@apache.org
Subject svn commit: r1509270 [2/4] - in /subversion/branches/fsfs-improvements: ./ subversion/ subversion/bindings/cxxhl/include/svncxxhl/ subversion/bindings/cxxhl/src/ subversion/bindings/cxxhl/src/aprwrap/ subversion/bindings/cxxhl/src/private/ subversion/b...
Date Thu, 01 Aug 2013 14:55:37 GMT
Modified: subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRemote.java
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRemote.java?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRemote.java (original)
+++ subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRemote.java Thu Aug  1 14:55:32 2013
@@ -27,6 +27,7 @@ import org.apache.subversion.javahl.type
 import org.apache.subversion.javahl.callback.*;
 
 import java.util.Date;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.io.OutputStream;
@@ -433,16 +434,104 @@ public interface ISVNRemote
             throws ClientException;
 
     /**
-     * Return the kind of the node in path at revision.
+     * Return the kind of the node in <code>path</code> at
+     * <code>revision</code>.
      * @param path A path relative to the sessionn URL
      * @throws ClientException
      */
     NodeKind checkPath(String path, long revision)
             throws ClientException;
 
-    // TODO: stat
-    // TODO: getLocations
-    // TODO: getLocationSegments
+    /**
+     * Return the directory entry object for <code>path</code> at
+     * <code>revision</code>.
+     * @param path A path relative to the sessionn URL
+     * @return A directory entry obeject, or <code>null</code> if
+     * <code>path</code> at <code>revision</code> does not exist.
+     * @throws ClientException
+     */
+    DirEntry stat(String path, long revision)
+            throws ClientException;
+
+    /**
+     * Find the locations of the object identified by
+     * <code>path</code> and <code>pegRevision</code> in the
+     * repository at the given revisions. If the object does not exist
+     * in a given revision, that revision will be ignored.
+     * <p>
+     * <b>Note:</b> None of the parameters may be NULL.
+     * @param path A path relative to the session URL
+     * @param pegRevision The peg revision to use for locating the object
+     * @param locationRevisions The set of revisions to find locations for
+     * @throws ClientException
+     */
+    Map<Long, String> getLocations(String path, long pegRevision,
+                                   Iterable<Long> locationRevisions)
+            throws ClientException;
+
+    /**
+     * The object returned from {@link getLocationSegments}.
+     */
+    public static class LocationSegment implements java.io.Serializable
+    {
+        // Update the serialVersionUID when there is a incompatible change
+        // made to this class.
+        private static final long serialVersionUID = 1L;
+
+        /**
+         * Private constructor called by the native implementation.
+         */
+        private LocationSegment(String path,
+                                long startRevision,
+                                long endRevision)
+        {
+            this.path = path;
+            this.startRevision = startRevision;
+            this.endRevision = endRevision;
+        }
+
+        /**
+         * @return The repository-relative path of the obejct in this
+         * history segment.
+         */
+        public String getPath() { return path; }
+
+        /**
+         * @return The start revision of the history segment.
+         */
+        public long getStartRevision() { return startRevision; }
+
+        /**
+         * @return The end revision of the history segment.
+         */
+        public long getEndRevision() { return endRevision; }
+
+        private String path;
+        private long startRevision;
+        private long endRevision;
+    }
+
+    /**
+     * Return a lost of segments in the location history of <code>path</code>
+     * at <code>pegRevision</code>, working backwards in time from
+     * <code>startRevision</code> to <code>endRevision</code>.
+     *
+     * @param path A session-relative path.
+     * @param pegRevision The peg revision to find <code>path</code> in.
+     * @param startRevision The upper bound of the revision range. Use
+     * {@link org.apache.subversion.javahl.types.Revision#SVN_INVALID_REVNUM}
+     *        to indicate HEAD.
+     * @param endRevision The lower bound of the revision range. Use
+     * {@link org.apache.subversion.javahl.types.Revision#SVN_INVALID_REVNUM}
+     *        to trace the history of the object to its origin.
+     * @throws ClientException
+     */
+    List<LocationSegment> getLocationSegments(String path,
+                                              long pegRevision,
+                                              long startRevision,
+                                              long endRevision)
+            throws ClientException;
+
     // TODO: getFileRevisions
     // TODO: lock
     // TODO: unlock

Modified: subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/RemoteSession.java
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/RemoteSession.java?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/RemoteSession.java (original)
+++ subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/RemoteSession.java Thu Aug  1 14:55:32 2013
@@ -35,6 +35,7 @@ import org.apache.subversion.javahl.Clie
 
 import java.lang.ref.WeakReference;
 import java.util.Date;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.io.OutputStream;
@@ -197,9 +198,21 @@ public class RemoteSession extends JNIOb
     public native NodeKind checkPath(String path, long revision)
             throws ClientException;
 
-    // TODO: stat
-    // TODO: getLocations
-    // TODO: getLocationSegments
+    public native DirEntry stat(String path, long revision)
+            throws ClientException;
+
+    public native Map<Long, String>
+        getLocations(String path, long pegRevision,
+                     Iterable<Long> locationRevisions)
+            throws ClientException;
+
+    public native
+        List<LocationSegment> getLocationSegments(String path,
+                                                  long pegRevision,
+                                                  long startRevision,
+                                                  long endRevision)
+            throws ClientException;
+
     // TODO: getFileRevisions
     // TODO: lock
     // TODO: unlock

Modified: subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Mergeinfo.java
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Mergeinfo.java?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Mergeinfo.java (original)
+++ subversion/branches/fsfs-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Mergeinfo.java Thu Aug  1 14:55:32 2013
@@ -108,6 +108,11 @@ public class Mergeinfo implements java.i
             addRevisionRange(mergeSrc, range);
     }
 
+    public void addRevisions(String mergeSrc, RevisionRangeList ranges)
+    {
+        addRevisions(mergeSrc, ranges.getRanges());
+    }
+
     /**
      * Add a revision range to the merged revisions for a path.  If
      * the merge source already has associated revision ranges, add
@@ -156,6 +161,14 @@ public class Mergeinfo implements java.i
     }
 
     /**
+     * Like {@link #getReivsionRange}, but returns a {@link RevisionRangeList}.
+     */
+    public RevisionRangeList getRevisionRangeList(String mergeSrc)
+    {
+        return new RevisionRangeList(getRevisionRange(mergeSrc));
+    }
+
+    /**
      * Parse the <code>svn:mergeinfo</code> property to populate the
      * merge source URLs and revision ranges of this instance.
      * @param mergeinfo <code>svn:mergeinfo</code> property value.

Modified: subversion/branches/fsfs-improvements/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java (original)
+++ subversion/branches/fsfs-improvements/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java Thu Aug  1 14:55:32 2013
@@ -3744,6 +3744,39 @@ public class BasicTests extends SVNTests
     }
 
     /**
+     * Test RevisionRangeList.remove
+     */
+    public void testRevisionRangeListRemove() throws Throwable
+    {
+        RevisionRangeList ranges =
+            new RevisionRangeList(new ArrayList<RevisionRange>());
+        ranges.getRanges()
+            .add(new RevisionRange(Revision.getInstance(1),
+                                   Revision.getInstance(5),
+                                   true));
+        ranges.getRanges()
+            .add(new RevisionRange(Revision.getInstance(7),
+                                   Revision.getInstance(9),
+                                   false));
+        RevisionRangeList eraser =
+            new RevisionRangeList(new ArrayList<RevisionRange>());
+        eraser.getRanges()
+            .add(new RevisionRange(Revision.getInstance(7),
+                                   Revision.getInstance(9),
+                                   true));
+
+        List<RevisionRange> result = ranges.remove(eraser, true).getRanges();
+        assertEquals(2, ranges.getRanges().size());
+        assertEquals(1, eraser.getRanges().size());
+        assertEquals(2, result.size());
+
+        result = ranges.remove(eraser.getRanges(), false);
+        assertEquals(2, ranges.getRanges().size());
+        assertEquals(1, eraser.getRanges().size());
+        assertEquals(1, result.size());
+    }
+
+    /**
      * @return <code>file</code> converted into a -- possibly
      * <code>canonical</code>-ized -- Subversion-internal path
      * representation.

Modified: subversion/branches/fsfs-improvements/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRemoteTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRemoteTests.java?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRemoteTests.java (original)
+++ subversion/branches/fsfs-improvements/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRemoteTests.java Thu Aug  1 14:55:32 2013
@@ -170,6 +170,20 @@ public class SVNRemoteTests extends SVNT
         assertEquals(NodeKind.dir, kind);
     }
 
+    public void testStat() throws Exception
+    {
+        ISVNRemote session = getSession();
+
+        DirEntry dirent = session.stat("iota", 1);
+        assertEquals(NodeKind.file, dirent.getNodeKind());
+
+        dirent = session.stat("iota", 0);
+        assertNull(dirent);
+
+        dirent = session.stat("A", 1);
+        assertEquals(NodeKind.dir, dirent.getNodeKind());
+    }
+
     private String getTestRepoUrl()
     {
         return thisTest.getUrl().toASCIIString();
@@ -1083,4 +1097,35 @@ public class SVNRemoteTests extends SVNT
         assertEquals(1, ranges.size());
         assertEquals("1-3", ranges.get(0).toString());
     }
+
+    public void testGetLocations() throws Exception
+    {
+        ISVNRemote session = getSession();
+
+        Long expected = new Long(1L);
+        ArrayList<Long> revs = new ArrayList<Long>(3);
+        revs.add(new Long(0L));
+        revs.add(expected);
+
+        Map<Long, String> locs = session.getLocations("A", 1, revs);
+
+        assertEquals(1, locs.size());
+        assertTrue(locs.containsKey(expected));
+        assertEquals("/A", locs.get(expected));
+    }
+
+    public void testGetLocationSegments() throws Exception
+    {
+        ISVNRemote session = getSession();
+
+        List<ISVNRemote.LocationSegment> result =
+            session.getLocationSegments("A", 1,
+                                        Revision.SVN_INVALID_REVNUM,
+                                        Revision.SVN_INVALID_REVNUM);
+        assertEquals(1, result.size());
+        ISVNRemote.LocationSegment seg = result.get(0);
+        assertEquals("A", seg.getPath());
+        assertEquals(1, seg.getStartRevision());
+        assertEquals(1, seg.getEndRevision());
+    }
 }

Modified: subversion/branches/fsfs-improvements/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c (original)
+++ subversion/branches/fsfs-improvements/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c Thu Aug  1 14:55:32 2013
@@ -38,11 +38,11 @@
 #include <io.h>
 #endif
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_pools.h"
 #include "svn_opt.h"
 #include "svn_time.h"
-#include "svn_private_config.h"
 
 #include "swig_perl_external_runtime.swg"
 
@@ -187,7 +187,7 @@ static apr_hash_t *svn_swig_pl_to_hash(S
     while (cnt--) {
         SV* item = hv_iternextsv(h, &key, &retlen);
         void *val = cv(item, ctx, pool);
-        svn_hash_sets(hash, key, val);
+        svn_hash_sets(hash, apr_pstrmemdup(pool, key, retlen), val);
     }
 
     return hash;

Modified: subversion/branches/fsfs-improvements/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c (original)
+++ subversion/branches/fsfs-improvements/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c Thu Aug  1 14:55:32 2013
@@ -35,6 +35,7 @@
 #include <apr_portable.h>
 #include <apr_thread_proc.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_client.h"
 #include "svn_string.h"
@@ -46,8 +47,6 @@
 #include "svn_mergeinfo.h"
 #include "svn_types.h"
 
-#include "svn_private_config.h" /* for SVN_APR_INT64_T_PYCFMT */
-
 #include "swig_python_external_runtime.swg"
 #include "swigutil_py.h"
 

Modified: subversion/branches/fsfs-improvements/subversion/bindings/swig/python/svn/core.py
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/bindings/swig/python/svn/core.py?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/bindings/swig/python/svn/core.py (original)
+++ subversion/branches/fsfs-improvements/subversion/bindings/swig/python/svn/core.py Thu Aug  1 14:55:32 2013
@@ -27,44 +27,8 @@ from libsvn.core import *
 import libsvn.core as _libsvncore
 import atexit as _atexit
 import sys
-__all__ = [
-  # Symbols that 'import *' used to pull (in 1.7)
-  'Pool',
-  'SVNSYNC_PROP_CURRENTLY_COPYING',
-  'SVNSYNC_PROP_FROM_URL',
-  'SVNSYNC_PROP_FROM_UUID',
-  'SVNSYNC_PROP_LAST_MERGED_REV',
-  'SVNSYNC_PROP_LOCK',
-  'SVNSYNC_PROP_PREFIX',
-  'SubversionException',
-  # 'apr_array_header_t',
-  # 'apr_file_open_stderr',
-  # 'apr_file_open_stdout',
-  # 'apr_file_t',
-  # 'apr_hash_t',
-  # 'apr_initialize',
-  # 'apr_pool_clear',
-  # 'apr_pool_destroy',
-  # 'apr_pool_t',
-  # 'apr_terminate',
-  # 'apr_time_ansi_put',
-  # 'run_app',
-
-  # Symbols defined explicitly below.
-  'SVN_IGNORED_REVNUM',
-  'SVN_INVALID_REVNUM',
-  'svn_path_compare_paths',
-  'svn_mergeinfo_merge',
-  'svn_mergeinfo_sort',
-  'svn_rangelist_merge',
-  'svn_rangelist_reverse',
-  # 'Stream',
-  # 'apr_initialize',
-  # 'apr_terminate',
-  'svn_pool_create',
-  'svn_pool_destroy',
-  'svn_pool_clear',
-]
+# __all__ is defined later, since some svn_* functions are implemented below.
+
 
 class SubversionException(Exception):
 
@@ -343,3 +307,22 @@ def run_app(func, *args, **kw):
   performed as the function exits (normally or via an exception).
   '''
   return func(application_pool, *args, **kw)
+
+# Currently, this excludes:
+# 'FALSE' 'TRUE'
+# 'apr_array_header_t' 'apr_file_t' 'apr_hash_t'
+# 'apr_file_open_stderr' 'apr_file_open_stdout'
+# 'apr_initialize' 'apr_terminate'
+# 'apr_pool_clear' 'apr_pool_destroy' 'apr_pool_t'
+# 'apr_time_ansi_put'
+# 'run_app'
+# 'svn__apr_hash_index_key' 'svn__apr_hash_index_klen' 'svn__apr_hash_index_val'
+# 'svn_relpath__internal_style' 'svn_uri__is_ancestor'
+# 'svn_tristate__from_word' 'svn_tristate__to_word'
+__all__ = filter(lambda s: (s.startswith('svn_')
+                            or s.startswith('SVN_')
+                            or s.startswith('SVNSYNC_')
+                            or s in ('Pool', 'SubversionException'))
+                           and '__' not in s,
+                 locals())
+

Modified: subversion/branches/fsfs-improvements/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c (original)
+++ subversion/branches/fsfs-improvements/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c Thu Aug  1 14:55:32 2013
@@ -60,6 +60,7 @@
 #include <locale.h>
 #include <math.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_nls.h"
 #include "svn_pools.h"

Modified: subversion/branches/fsfs-improvements/subversion/include/private/svn_subr_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/include/private/svn_subr_private.h?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/include/private/svn_subr_private.h (original)
+++ subversion/branches/fsfs-improvements/subversion/include/private/svn_subr_private.h Thu Aug  1 14:55:32 2013
@@ -94,11 +94,32 @@ svn_spillbuf__create(apr_size_t blocksiz
                      apr_size_t maxsize,
                      apr_pool_t *result_pool);
 
+/* Create a spill buffer, with extra parameters.  */
+svn_spillbuf_t *
+svn_spillbuf__create_extended(apr_size_t blocksize,
+                              apr_size_t maxsize,
+                              svn_boolean_t delete_on_close,
+                              svn_boolean_t spill_all_contents,
+                              const char* dirpath,
+                              apr_pool_t *result_pool);
 
 /* Determine how much content is stored in the spill buffer.  */
 svn_filesize_t
 svn_spillbuf__get_size(const svn_spillbuf_t *buf);
 
+/* Determine how much content the spill buffer is caching in memory.  */
+svn_filesize_t
+svn_spillbuf__get_memory_size(const svn_spillbuf_t *buf);
+
+/* Retreive the name of the spill file. The returned value can be NULL
+   if the file has not been created yet. */
+const char *
+svn_spillbuf__get_filename(const svn_spillbuf_t *buf);
+
+/* Retreive the handle of the spill file. The returned value can be
+   NULL if the file has not been created yet. */
+apr_file_t *
+svn_spillbuf__get_file(const svn_spillbuf_t *buf);
 
 /* Write some data into the spill buffer.  */
 svn_error_t *
@@ -158,6 +179,14 @@ svn_spillbuf__reader_create(apr_size_t b
                             apr_size_t maxsize,
                             apr_pool_t *result_pool);
 
+/* Create a spill-buffer with extra parameters, and a reader for it. */
+svn_spillbuf_reader_t *
+svn_spillbuf__reader_create_extended(apr_size_t blocksize,
+                                     apr_size_t maxsize,
+                                     svn_boolean_t delete_on_close,
+                                     svn_boolean_t spill_all_contents,
+                                     const char *dirpath,
+                                     apr_pool_t *result_pool);
 
 /* Read @a len bytes from @a reader into @a data. The number of bytes
    actually read is stored in @a amt. If the content is exhausted, then
@@ -198,6 +227,16 @@ svn_stream_t *
 svn_stream__from_spillbuf(apr_size_t blocksize,
                           apr_size_t maxsize,
                           apr_pool_t *result_pool);
+/* Return a stream built on top of a spillbuf, using the same arguments as
+   svn_spillbuf__create_extended(). */
+svn_stream_t *
+svn_stream__from_spillbuf_extended(apr_size_t blocksize,
+                                   apr_size_t maxsize,
+                                   svn_boolean_t delete_on_close,
+                                   svn_boolean_t spill_all_contents,
+                                   const char *dirpath,
+                                   apr_pool_t *result_pool);
+
 
 /** @} */
 

Modified: subversion/branches/fsfs-improvements/subversion/include/svn_config.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/include/svn_config.h?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/include/svn_config.h (original)
+++ subversion/branches/fsfs-improvements/subversion/include/svn_config.h Thu Aug  1 14:55:32 2013
@@ -736,6 +736,12 @@ typedef svn_error_t *
  * under @a config_dir.  If the callback sets its delete_cred return
  * flag, delete the associated credential.
  *
+ * If @a config_dir is not NULL, it must point to an alternative
+ * config directory location. If it is NULL, the default location
+ * is used.
+ *
+ * @note @a config_dir may only be NULL in 1.8.2 and later.
+ *
  * @note Removing credentials from the config-based disk store will
  * not purge them from any open svn_auth_baton_t instance.  Consider
  * using svn_auth_forget_credentials() -- from the @a cleanup_func,

Modified: subversion/branches/fsfs-improvements/subversion/include/svn_hash.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/include/svn_hash.h?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/include/svn_hash.h (original)
+++ subversion/branches/fsfs-improvements/subversion/include/svn_hash.h Thu Aug  1 14:55:32 2013
@@ -37,7 +37,6 @@
 #include "svn_types.h"
 #include "svn_io.h"       /* for svn_stream_t */
 
-
 #ifdef __cplusplus
 extern "C" {
 #endif /* __cplusplus */
@@ -245,14 +244,14 @@ svn_hash_from_cstring_keys(apr_hash_t **
  * @since New in 1.8.
  */
 #define svn_hash_gets(ht, key) \
-            apr_hash_get(ht, key, strlen(key))
+            apr_hash_get(ht, key, APR_HASH_KEY_STRING)
 
 /** Shortcut for apr_hash_set() with a const char * key.
  *
  * @since New in 1.8.
  */
 #define svn_hash_sets(ht, key, val) \
-            apr_hash_set(ht, key, strlen(key), val)
+            apr_hash_set(ht, key, APR_HASH_KEY_STRING, val)
 
 /** @} */
 

Modified: subversion/branches/fsfs-improvements/subversion/include/svn_sorts.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/include/svn_sorts.h?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/include/svn_sorts.h (original)
+++ subversion/branches/fsfs-improvements/subversion/include/svn_sorts.h Thu Aug  1 14:55:32 2013
@@ -174,7 +174,8 @@ svn_sort__hash(apr_hash_t *ht,
 /* Return the lowest index at which the element @a *key should be inserted into
  * the array @a array, according to the ordering defined by @a compare_func.
  * The array must already be sorted in the ordering defined by @a compare_func.
- * @a compare_func is defined as for the C stdlib function bsearch().
+ * @a compare_func is defined as for the C stdlib function bsearch(); the
+ * @a key will always passed to it as the second parameter.
  *
  * @note Private. For use by Subversion's own code only.
  */

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c Thu Aug  1 14:55:32 2013
@@ -32,6 +32,7 @@
 #include <glib.h>
 #include <gnome-keyring.h>
 
+#include "svn_private_config.h"
 #include "svn_auth.h"
 #include "svn_config.h"
 #include "svn_error.h"
@@ -40,8 +41,6 @@
 
 #include "private/svn_auth_private.h"
 
-#include "svn_private_config.h"
-
 
 
 /*-----------------------------------------------------------------------*/

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/add.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/add.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/add.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/add.c Thu Aug  1 14:55:32 2013
@@ -30,6 +30,8 @@
 #include <string.h>
 #include <apr_lib.h>
 #include <apr_fnmatch.h>
+
+#include "svn_private_config.h"
 #include "svn_wc.h"
 #include "svn_client.h"
 #include "svn_string.h"
@@ -50,8 +52,6 @@
 #include "private/svn_ra_private.h"
 #include "private/svn_magic.h"
 
-#include "svn_private_config.h"
-
 
 
 /*** Code. ***/

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/cat.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/cat.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/cat.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/cat.c Thu Aug  1 14:55:32 2013
@@ -27,6 +27,7 @@
 
 /*** Includes. ***/
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_client.h"
 #include "svn_string.h"
@@ -39,7 +40,6 @@
 #include "svn_props.h"
 #include "client.h"
 
-#include "svn_private_config.h"
 #include "private/svn_wc_private.h"
 
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/changelist.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/changelist.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/changelist.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/changelist.c Thu Aug  1 14:55:32 2013
@@ -27,6 +27,7 @@
 
 /*** Includes. ***/
 
+#include "svn_private_config.h"
 #include "svn_client.h"
 #include "svn_wc.h"
 #include "svn_pools.h"
@@ -36,7 +37,6 @@
 
 #include "client.h"
 #include "private/svn_wc_private.h"
-#include "svn_private_config.h"
 
 
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/cleanup.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/cleanup.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/cleanup.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/cleanup.c Thu Aug  1 14:55:32 2013
@@ -27,6 +27,7 @@
 
 /*** Includes. ***/
 
+#include "svn_private_config.h"
 #include "svn_time.h"
 #include "svn_wc.h"
 #include "svn_client.h"
@@ -38,7 +39,6 @@
 #include "client.h"
 #include "svn_props.h"
 
-#include "svn_private_config.h"
 #include "private/svn_wc_private.h"
 
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/commit.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/commit.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/commit.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/commit.c Thu Aug  1 14:55:32 2013
@@ -30,6 +30,8 @@
 #include <string.h>
 #include <apr_strings.h>
 #include <apr_hash.h>
+
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_wc.h"
 #include "svn_ra.h"
@@ -46,8 +48,6 @@
 #include "private/svn_wc_private.h"
 #include "private/svn_ra_private.h"
 
-#include "svn_private_config.h"
-
 struct capture_baton_t {
   svn_commit_callback2_t original_callback;
   void *original_baton;
@@ -1025,9 +1025,22 @@ svn_client_commit6(const apr_array_heade
     }
 
  cleanup:
-  /* Sleep to ensure timestamp integrity. */
+  /* Sleep to ensure timestamp integrity.  BASE_ABSPATH may have been
+     removed by the commit or it may the common ancestor of multiple
+     working copies. */
   if (timestamp_sleep)
-    svn_io_sleep_for_timestamps(base_abspath, pool);
+    {
+      const char *wcroot_abspath;
+      svn_error_t *err = svn_wc__get_wcroot(&wcroot_abspath, ctx->wc_ctx,
+                                            base_abspath, pool, pool);
+      if (err)
+        {
+          svn_error_clear(err);
+          wcroot_abspath = NULL;
+        }
+
+      svn_io_sleep_for_timestamps(wcroot_abspath, pool);
+    }
 
   /* Abort the commit if it is still in progress. */
   svn_pool_clear(iterpool); /* Close open handles before aborting */

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/commit_util.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/commit_util.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/commit_util.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/commit_util.c Thu Aug  1 14:55:32 2013
@@ -30,6 +30,7 @@
 #include <apr_hash.h>
 #include <apr_md5.h>
 
+#include "svn_private_config.h"
 #include "client.h"
 #include "svn_dirent_uri.h"
 #include "svn_path.h"
@@ -42,7 +43,6 @@
 #include <assert.h>
 #include <stdlib.h>  /* for qsort() */
 
-#include "svn_private_config.h"
 #include "private/svn_wc_private.h"
 #include "private/svn_client_private.h"
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/copy.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/copy.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/copy.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/copy.c Thu Aug  1 14:55:32 2013
@@ -28,6 +28,8 @@
 /*** Includes. ***/
 
 #include <string.h>
+
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_client.h"
 #include "svn_error.h"
@@ -43,7 +45,6 @@
 #include "client.h"
 #include "mergeinfo.h"
 
-#include "svn_private_config.h"
 #include "private/svn_wc_private.h"
 #include "private/svn_ra_private.h"
 #include "private/svn_mergeinfo_private.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/copy_foreign.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/copy_foreign.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/copy_foreign.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/copy_foreign.c Thu Aug  1 14:55:32 2013
@@ -26,6 +26,8 @@
 /*** Includes. ***/
 
 #include <string.h>
+
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_client.h"
 #include "svn_delta.h"
@@ -43,7 +45,6 @@
 #include "client.h"
 #include "private/svn_subr_private.h"
 #include "private/svn_wc_private.h"
-#include "svn_private_config.h"
 
 struct edit_baton_t
 {

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/ctx.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/ctx.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/ctx.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/ctx.c Thu Aug  1 14:55:32 2013
@@ -28,6 +28,8 @@
 /*** Includes. ***/
 
 #include <apr_pools.h>
+
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_client.h"
 #include "svn_error.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/delete.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/delete.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/delete.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/delete.c Thu Aug  1 14:55:32 2013
@@ -28,6 +28,8 @@
 /*** Includes. ***/
 
 #include <apr_file_io.h>
+
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_types.h"
 #include "svn_pools.h"
@@ -42,8 +44,6 @@
 #include "private/svn_wc_private.h"
 #include "private/svn_ra_private.h"
 
-#include "svn_private_config.h"
-
 
 /*** Code. ***/
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/deprecated.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/deprecated.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/deprecated.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/deprecated.c Thu Aug  1 14:55:32 2013
@@ -33,6 +33,8 @@
 #define SVN_DEPRECATED
 
 #include <string.h>
+
+#include "svn_private_config.h"
 #include "svn_client.h"
 #include "svn_path.h"
 #include "svn_compat.h"
@@ -47,8 +49,6 @@
 
 #include "private/svn_opt_private.h"
 #include "private/svn_wc_private.h"
-#include "svn_private_config.h"
-
 
 
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/diff.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/diff.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/diff.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/diff.c Thu Aug  1 14:55:32 2013
@@ -30,6 +30,8 @@
 #include <apr_strings.h>
 #include <apr_pools.h>
 #include <apr_hash.h>
+
+#include "svn_private_config.h"
 #include "svn_types.h"
 #include "svn_hash.h"
 #include "svn_wc.h"
@@ -53,8 +55,6 @@
 #include "private/svn_subr_private.h"
 #include "private/svn_io_private.h"
 
-#include "svn_private_config.h"
-
 
 /* Utilities */
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/diff_local.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/diff_local.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/diff_local.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/diff_local.c Thu Aug  1 14:55:32 2013
@@ -30,6 +30,8 @@
 #include <apr_strings.h>
 #include <apr_pools.h>
 #include <apr_hash.h>
+
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_types.h"
 #include "svn_wc.h"
@@ -47,8 +49,6 @@
 
 #include "private/svn_wc_private.h"
 
-#include "svn_private_config.h"
-
 
 /* Try to get properties for LOCAL_ABSPATH and return them in the property
  * hash *PROPS. If there are no properties because LOCAL_ABSPATH is not

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/diff_summarize.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/diff_summarize.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/diff_summarize.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/diff_summarize.c Thu Aug  1 14:55:32 2013
@@ -22,7 +22,7 @@
  * ====================================================================
  */
 
-
+#include "svn_private_config.h"
 #include "svn_dirent_uri.h"
 #include "svn_hash.h"
 #include "svn_props.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/export.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/export.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/export.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/export.c Thu Aug  1 14:55:32 2013
@@ -29,6 +29,8 @@
 
 #include <apr_file_io.h>
 #include <apr_md5.h>
+
+#include "svn_private_config.h"
 #include "svn_types.h"
 #include "svn_client.h"
 #include "svn_string.h"
@@ -42,7 +44,6 @@
 #include "svn_props.h"
 #include "client.h"
 
-#include "svn_private_config.h"
 #include "private/svn_subr_private.h"
 #include "private/svn_delta_private.h"
 #include "private/svn_wc_private.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/externals.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/externals.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/externals.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/externals.c Thu Aug  1 14:55:32 2013
@@ -28,6 +28,8 @@
 /*** Includes. ***/
 
 #include <apr_uri.h>
+
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_wc.h"
 #include "svn_pools.h"
@@ -40,7 +42,6 @@
 #include "svn_config.h"
 #include "client.h"
 
-#include "svn_private_config.h"
 #include "private/svn_wc_private.h"
 
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/import.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/import.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/import.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/import.c Thu Aug  1 14:55:32 2013
@@ -32,6 +32,7 @@
 #include <apr_hash.h>
 #include <apr_md5.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_ra.h"
 #include "svn_delta.h"
@@ -51,8 +52,6 @@
 #include "private/svn_ra_private.h"
 #include "private/svn_magic.h"
 
-#include "svn_private_config.h"
-
 /* Import context baton.
 
    ### TODO:  Add the following items to this baton:

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/info.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/info.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/info.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/info.c Thu Aug  1 14:55:32 2013
@@ -23,8 +23,7 @@
 
 /* ==================================================================== */
 
-
-
+#include "svn_private_config.h"
 #include "client.h"
 #include "svn_client.h"
 #include "svn_pools.h"
@@ -33,7 +32,6 @@
 #include "svn_hash.h"
 #include "svn_wc.h"
 
-#include "svn_private_config.h"
 #include "private/svn_fspath.h"
 #include "private/svn_wc_private.h"
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/iprops.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/iprops.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/iprops.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/iprops.c Thu Aug  1 14:55:32 2013
@@ -27,6 +27,7 @@
 
 /*** Includes. ***/
 
+#include "svn_private_config.h"
 #include "svn_error.h"
 #include "svn_hash.h"
 #include "svn_pools.h"
@@ -36,7 +37,6 @@
 #include "svn_path.h"
 
 #include "client.h"
-#include "svn_private_config.h"
 
 #include "private/svn_wc_private.h"
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/list.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/list.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/list.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/list.c Thu Aug  1 14:55:32 2013
@@ -21,6 +21,7 @@
  * ====================================================================
  */
 
+#include "svn_private_config.h"
 #include "svn_client.h"
 #include "svn_dirent_uri.h"
 #include "svn_hash.h"
@@ -35,7 +36,6 @@
 #include "private/svn_fspath.h"
 #include "private/svn_ra_private.h"
 #include "private/svn_wc_private.h"
-#include "svn_private_config.h"
 
 /* Prototypes for referencing before declaration */
 static svn_error_t *

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/locking_commands.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/locking_commands.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/locking_commands.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/locking_commands.c Thu Aug  1 14:55:32 2013
@@ -27,6 +27,7 @@
 
 /*** Includes. ***/
 
+#include "svn_private_config.h"
 #include "svn_client.h"
 #include "svn_hash.h"
 #include "client.h"
@@ -35,7 +36,6 @@
 #include "svn_xml.h"
 #include "svn_pools.h"
 
-#include "svn_private_config.h"
 #include "private/svn_client_private.h"
 #include "private/svn_wc_private.h"
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/log.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/log.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/log.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/log.c Thu Aug  1 14:55:32 2013
@@ -27,6 +27,7 @@
 #include <apr_strings.h>
 #include <apr_pools.h>
 
+#include "svn_private_config.h"
 #include "svn_pools.h"
 #include "svn_client.h"
 #include "svn_compat.h"
@@ -39,7 +40,6 @@
 
 #include "client.h"
 
-#include "svn_private_config.h"
 #include "private/svn_wc_private.h"
 
 #include <assert.h>

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/merge.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/merge.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/merge.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/merge.c Thu Aug  1 14:55:32 2013
@@ -31,6 +31,8 @@
 #include <apr_strings.h>
 #include <apr_tables.h>
 #include <apr_hash.h>
+
+#include "svn_private_config.h"
 #include "svn_types.h"
 #include "svn_hash.h"
 #include "svn_wc.h"
@@ -62,8 +64,6 @@
 #include "private/svn_client_private.h"
 #include "private/svn_subr_private.h"
 
-#include "svn_private_config.h"
-
 
 /*-----------------------------------------------------------------------*/
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/mergeinfo.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/mergeinfo.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/mergeinfo.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/mergeinfo.c Thu Aug  1 14:55:32 2013
@@ -24,6 +24,7 @@
 #include <apr_pools.h>
 #include <apr_strings.h>
 
+#include "svn_private_config.h"
 #include "svn_pools.h"
 #include "svn_dirent_uri.h"
 #include "svn_path.h"
@@ -46,7 +47,6 @@
 #include "private/svn_client_private.h"
 #include "client.h"
 #include "mergeinfo.h"
-#include "svn_private_config.h"
 
 
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/patch.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/patch.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/patch.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/patch.c Thu Aug  1 14:55:32 2013
@@ -29,6 +29,8 @@
 
 #include <apr_hash.h>
 #include <apr_fnmatch.h>
+
+#include "svn_private_config.h"
 #include "svn_client.h"
 #include "svn_dirent_uri.h"
 #include "svn_diff.h"
@@ -42,7 +44,6 @@
 #include "svn_wc.h"
 #include "client.h"
 
-#include "svn_private_config.h"
 #include "private/svn_eol_private.h"
 #include "private/svn_wc_private.h"
 #include "private/svn_dep_compat.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/prop_commands.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/prop_commands.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/prop_commands.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/prop_commands.c Thu Aug  1 14:55:32 2013
@@ -30,6 +30,7 @@
 #define APR_WANT_STRFUNC
 #include <apr_want.h>
 
+#include "svn_private_config.h"
 #include "svn_error.h"
 #include "svn_client.h"
 #include "client.h"
@@ -40,7 +41,6 @@
 #include "svn_hash.h"
 #include "svn_sorts.h"
 
-#include "svn_private_config.h"
 #include "private/svn_wc_private.h"
 #include "private/svn_ra_private.h"
 #include "private/svn_client_private.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/ra.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/ra.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/ra.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/ra.c Thu Aug  1 14:55:32 2013
@@ -25,6 +25,7 @@
 
 #include <apr_pools.h>
 
+#include "svn_private_config.h"
 #include "svn_error.h"
 #include "svn_hash.h"
 #include "svn_pools.h"
@@ -39,7 +40,6 @@
 #include "client.h"
 #include "mergeinfo.h"
 
-#include "svn_private_config.h"
 #include "private/svn_wc_private.h"
 #include "private/svn_client_private.h"
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/repos_diff.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/repos_diff.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/repos_diff.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/repos_diff.c Thu Aug  1 14:55:32 2013
@@ -36,6 +36,7 @@
 #include <apr_md5.h>
 #include <assert.h>
 
+#include "svn_private_config.h"
 #include "svn_checksum.h"
 #include "svn_hash.h"
 #include "svn_wc.h"
@@ -44,7 +45,6 @@
 #include "svn_path.h"
 #include "svn_io.h"
 #include "svn_props.h"
-#include "svn_private_config.h"
 
 #include "client.h"
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/resolved.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/resolved.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/resolved.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/resolved.c Thu Aug  1 14:55:32 2013
@@ -29,6 +29,7 @@
 
 #include <stdlib.h>
 
+#include "svn_private_config.h"
 #include "svn_types.h"
 #include "svn_wc.h"
 #include "svn_client.h"
@@ -40,8 +41,6 @@
 #include "svn_sorts.h"
 #include "client.h"
 #include "private/svn_wc_private.h"
-
-#include "svn_private_config.h"
 
 /*** Code. ***/
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/revert.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/revert.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/revert.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/revert.c Thu Aug  1 14:55:32 2013
@@ -27,6 +27,7 @@
 
 /*** Includes. ***/
 
+#include "svn_private_config.h"
 #include "svn_path.h"
 #include "svn_wc.h"
 #include "svn_client.h"
@@ -39,8 +40,6 @@
 #include "client.h"
 #include "private/svn_wc_private.h"
 
-#include "svn_private_config.h"
-
 
 /*** Code. ***/
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/status.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/status.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/status.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/status.c Thu Aug  1 14:55:32 2013
@@ -29,6 +29,7 @@
 #include <apr_strings.h>
 #include <apr_pools.h>
 
+#include "svn_private_config.h"
 #include "svn_pools.h"
 #include "client.h"
 
@@ -39,7 +40,6 @@
 #include "svn_error.h"
 #include "svn_hash.h"
 
-#include "svn_private_config.h"
 #include "private/svn_wc_private.h"
 #include "private/svn_client_private.h"
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/switch.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/switch.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/switch.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/switch.c Thu Aug  1 14:55:32 2013
@@ -27,6 +27,7 @@
 
 /*** Includes. ***/
 
+#include "svn_private_config.h"
 #include "svn_client.h"
 #include "svn_error.h"
 #include "svn_hash.h"
@@ -37,7 +38,6 @@
 #include "svn_pools.h"
 #include "client.h"
 
-#include "svn_private_config.h"
 #include "private/svn_wc_private.h"
 
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/update.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/update.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/update.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/update.c Thu Aug  1 14:55:32 2013
@@ -27,6 +27,7 @@
 
 /*** Includes. ***/
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_wc.h"
 #include "svn_client.h"
@@ -39,7 +40,6 @@
 #include "svn_io.h"
 #include "client.h"
 
-#include "svn_private_config.h"
 #include "private/svn_wc_private.h"
 
 /* Implements svn_wc_dirents_func_t for update and switch handling. Assumes
@@ -701,7 +701,23 @@ svn_client_update4(apr_array_header_t **
 
  cleanup:
   if (sleep)
-    svn_io_sleep_for_timestamps((paths->nelts == 1) ? path : NULL, pool);
+    {
+      const char *wcroot_abspath;
+
+      if (paths->nelts == 1)
+        {
+          const char *abspath;
+
+          /* PATH iteslf may have been removed by the update. */
+          SVN_ERR(svn_dirent_get_absolute(&abspath, path, pool));
+          SVN_ERR(svn_wc__get_wcroot(&wcroot_abspath, ctx->wc_ctx, abspath,
+                                     pool, pool));
+        }
+      else
+        wcroot_abspath = NULL;
+
+      svn_io_sleep_for_timestamps(wcroot_abspath, pool);
+    }
 
   return svn_error_trace(err);
 }

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_client/util.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_client/util.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_client/util.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_client/util.c Thu Aug  1 14:55:32 2013
@@ -24,6 +24,7 @@
 #include <apr_pools.h>
 #include <apr_strings.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_pools.h"
 #include "svn_error.h"
@@ -40,8 +41,6 @@
 
 #include "client.h"
 
-#include "svn_private_config.h"
-
 svn_client__pathrev_t *
 svn_client__pathrev_create(const char *repos_root_url,
                            const char *repos_uuid,

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_delta/compat.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_delta/compat.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_delta/compat.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_delta/compat.c Thu Aug  1 14:55:32 2013
@@ -23,6 +23,7 @@
 
 #include <stddef.h>
 
+#include "svn_private_config.h"
 #include "svn_types.h"
 #include "svn_error.h"
 #include "svn_delta.h"
@@ -33,8 +34,6 @@
 #include "svn_props.h"
 #include "svn_pools.h"
 
-#include "svn_private_config.h"
-
 #include "private/svn_delta_private.h"
 
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_delta/xdelta.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_delta/xdelta.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_delta/xdelta.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_delta/xdelta.c Thu Aug  1 14:55:32 2013
@@ -27,6 +27,7 @@
 #include <apr_general.h>        /* for APR_INLINE */
 #include <apr_hash.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_delta.h"
 #include "private/svn_string_private.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_diff/parse-diff.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_diff/parse-diff.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_diff/parse-diff.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_diff/parse-diff.c Thu Aug  1 14:55:32 2013
@@ -25,6 +25,7 @@
 #include <stddef.h>
 #include <string.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_types.h"
 #include "svn_error.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_diff/util.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_diff/util.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_diff/util.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_diff/util.c Thu Aug  1 14:55:32 2013
@@ -25,6 +25,7 @@
 #include <apr.h>
 #include <apr_general.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_pools.h"
 #include "svn_dirent_uri.h"
@@ -40,8 +41,6 @@
 #include "private/svn_diff_private.h"
 #include "diff.h"
 
-#include "svn_private_config.h"
-
 
 svn_boolean_t
 svn_diff_contains_conflicts(svn_diff_t *diff)

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_fs/access.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_fs/access.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_fs/access.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_fs/access.c Thu Aug  1 14:55:32 2013
@@ -24,6 +24,7 @@
 
 #include <apr_hash.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_types.h"
 #include "svn_pools.h"
@@ -33,7 +34,6 @@
 #include "fs-loader.h"
 
 
-
 svn_error_t *
 svn_fs_create_access(svn_fs_access_t **access_ctx,
                      const char *username,

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_fs/fs-loader.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_fs/fs-loader.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_fs/fs-loader.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_fs/fs-loader.c Thu Aug  1 14:55:32 2013
@@ -30,6 +30,7 @@
 #include <apr_uuid.h>
 #include <apr_strings.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_ctype.h"
 #include "svn_types.h"
@@ -40,7 +41,6 @@
 #include "svn_xml.h"
 #include "svn_pools.h"
 #include "svn_string.h"
-#include "svn_private_config.h"
 
 #include "private/svn_fs_private.h"
 #include "private/svn_fs_util.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/bdb/changes-table.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/bdb/changes-table.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/bdb/changes-table.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/bdb/changes-table.c Thu Aug  1 14:55:32 2013
@@ -25,6 +25,7 @@
 #include <apr_hash.h>
 #include <apr_tables.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_fs.h"
 #include "svn_pools.h"
@@ -41,7 +42,6 @@
 
 #include "private/svn_fs_util.h"
 #include "private/svn_fspath.h"
-#include "svn_private_config.h"
 
 
 /*** Creating and opening the changes table. ***/

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/bdb/env.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/bdb/env.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/bdb/env.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/bdb/env.c Thu Aug  1 14:55:32 2013
@@ -31,6 +31,7 @@
 #include <apr_strings.h>
 #include <apr_hash.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_path.h"
 #include "svn_pools.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/dag.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/dag.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/dag.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/dag.c Thu Aug  1 14:55:32 2013
@@ -22,6 +22,7 @@
 
 #include <string.h>
 
+#include "svn_private_config.h"
 #include "svn_path.h"
 #include "svn_time.h"
 #include "svn_error.h"
@@ -57,8 +58,6 @@
 #include "private/svn_fspath.h"
 #include "../libsvn_fs/fs-loader.h"
 
-#include "svn_private_config.h"
-
 
 /* Initializing a filesystem.  */
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/fs.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/fs.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/fs.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/fs.c Thu Aug  1 14:55:32 2013
@@ -28,6 +28,8 @@
 #include <apr_pools.h>
 #include <apr_file_io.h>
 
+#define SVN_WANT_BDB
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_pools.h"
 #include "svn_fs.h"
@@ -43,8 +45,6 @@
 #include "tree.h"
 #include "id.h"
 #include "lock.h"
-#define SVN_WANT_BDB
-#include "svn_private_config.h"
 
 #include "bdb/bdb-err.h"
 #include "bdb/bdb_compat.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/lock.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/lock.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/lock.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/lock.c Thu Aug  1 14:55:32 2013
@@ -21,11 +21,11 @@
  */
 
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_pools.h"
 #include "svn_error.h"
 #include "svn_fs.h"
-#include "svn_private_config.h"
 
 #include <apr_uuid.h>
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/revs-txns.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/revs-txns.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/revs-txns.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/revs-txns.c Thu Aug  1 14:55:32 2013
@@ -25,6 +25,7 @@
 #include <apr_tables.h>
 #include <apr_pools.h>
 
+#include "svn_private_config.h"
 #include "svn_pools.h"
 #include "svn_time.h"
 #include "svn_fs.h"
@@ -46,7 +47,6 @@
 #include "bdb/changes-table.h"
 #include "../libsvn_fs/fs-loader.h"
 
-#include "svn_private_config.h"
 #include "private/svn_fs_util.h"
 
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/tree.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/tree.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/tree.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_fs_base/tree.c Thu Aug  1 14:55:32 2013
@@ -38,6 +38,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <assert.h>
+
 #include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_pools.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/caching.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/caching.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/caching.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/caching.c Thu Aug  1 14:55:32 2013
@@ -28,10 +28,10 @@
 #include "temp_serializer.h"
 #include "../libsvn_fs/fs-loader.h"
 
+#include "svn_private_config.h"
 #include "svn_config.h"
 #include "svn_cache_config.h"
 
-#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_pools.h"
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/fs_fs.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/fs_fs.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/fs_fs.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/fs_fs.c Thu Aug  1 14:55:32 2013
@@ -24,6 +24,8 @@
 
 #include <apr_uuid.h>
 
+#include "svn_private_config.h"
+
 #include "svn_hash.h"
 #include "svn_props.h"
 #include "svn_time.h"
@@ -43,8 +45,6 @@
 #include "private/svn_subr_private.h"
 #include "../libsvn_fs/fs-loader.h"
 
-#include "svn_private_config.h"
-
 /* The default maximum number of files per directory to store in the
    rev and revprops directory.  The number below is somewhat arbitrary,
    and can be overridden by defining the macro while compiling; the

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/lock.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/lock.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/lock.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/lock.c Thu Aug  1 14:55:32 2013
@@ -20,7 +20,7 @@
  * ====================================================================
  */
 
-
+#include "svn_private_config.h"
 #include "svn_pools.h"
 #include "svn_error.h"
 #include "svn_dirent_uri.h"
@@ -42,7 +42,6 @@
 
 #include "private/svn_fs_util.h"
 #include "private/svn_fspath.h"
-#include "svn_private_config.h"
 
 /* Names of hash keys used to store a lock for writing to disk. */
 #define PATH_KEY "path"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/temp_serializer.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/temp_serializer.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/temp_serializer.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/temp_serializer.c Thu Aug  1 14:55:32 2013
@@ -22,6 +22,7 @@
 
 #include <apr_pools.h>
 
+#include "svn_private_config.h"
 #include "svn_pools.h"
 #include "svn_hash.h"
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/tree.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/tree.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/tree.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs/tree.c Thu Aug  1 14:55:32 2013
@@ -41,8 +41,8 @@
 #include <apr_pools.h>
 #include <apr_hash.h>
 
-#include "svn_hash.h"
 #include "svn_private_config.h"
+#include "svn_hash.h"
 #include "svn_pools.h"
 #include "svn_error.h"
 #include "svn_path.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_fs_util/fs-util.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_fs_util/fs-util.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_fs_util/fs-util.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_fs_util/fs-util.c Thu Aug  1 14:55:32 2013
@@ -26,11 +26,11 @@
 #include <apr_pools.h>
 #include <apr_strings.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_fs.h"
 #include "svn_dirent_uri.h"
 #include "svn_path.h"
-#include "svn_private_config.h"
 
 #include "private/svn_fs_util.h"
 #include "private/svn_fspath.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_ra/compat.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_ra/compat.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_ra/compat.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_ra/compat.c Thu Aug  1 14:55:32 2013
@@ -23,6 +23,7 @@
 
 #include <apr_pools.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_error.h"
 #include "svn_pools.h"
@@ -36,7 +37,6 @@
 
 #include "private/svn_fspath.h"
 #include "ra_loader.h"
-#include "svn_private_config.h"
 
 
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_ra/deprecated.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_ra/deprecated.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_ra/deprecated.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_ra/deprecated.c Thu Aug  1 14:55:32 2013
@@ -26,6 +26,7 @@
    deprecated functions in this file. */
 #define SVN_DEPRECATED
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_ra.h"
 #include "svn_path.h"
@@ -36,9 +37,6 @@
 #include "ra_loader.h"
 #include "deprecated.h"
 
-#include "svn_private_config.h"
-
-
 
 
 /*** From ra_loader.c ***/

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_ra/ra_loader.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_ra/ra_loader.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_ra/ra_loader.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_ra/ra_loader.c Thu Aug  1 14:55:32 2013
@@ -33,6 +33,7 @@
 #include <apr_hash.h>
 #include <apr_uri.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_version.h"
 #include "svn_types.h"
@@ -52,7 +53,6 @@
 #include "deprecated.h"
 
 #include "private/svn_ra_private.h"
-#include "svn_private_config.h"
 
 
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_ra_local/ra_plugin.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_ra_local/ra_plugin.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_ra_local/ra_plugin.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_ra_local/ra_plugin.c Thu Aug  1 14:55:32 2013
@@ -21,6 +21,7 @@
  * ====================================================================
  */
 
+#include "svn_private_config.h"
 #include "ra_local.h"
 #include "svn_hash.h"
 #include "svn_ra.h"
@@ -35,7 +36,6 @@
 #include "svn_version.h"
 #include "svn_cache_config.h"
 
-#include "svn_private_config.h"
 #include "../libsvn_ra/ra_loader.h"
 #include "private/svn_mergeinfo_private.h"
 #include "private/svn_repos_private.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/blame.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/blame.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/blame.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/blame.c Thu Aug  1 14:55:32 2013
@@ -24,6 +24,7 @@
 #include <apr_uri.h>
 #include <serf.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_pools.h"
 #include "svn_ra.h"
@@ -35,8 +36,6 @@
 #include "svn_base64.h"
 #include "svn_props.h"
 
-#include "svn_private_config.h"
-
 #include "private/svn_string_private.h"
 
 #include "ra_serf.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/blncache.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/blncache.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/blncache.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/blncache.c Thu Aug  1 14:55:32 2013
@@ -23,6 +23,7 @@
 
 #include <apr_pools.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_dirent_uri.h"
 #include "svn_types.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/commit.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/commit.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/commit.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/commit.c Thu Aug  1 14:55:32 2013
@@ -24,6 +24,7 @@
 #include <apr_uri.h>
 #include <serf.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_pools.h"
 #include "svn_ra.h"
@@ -36,7 +37,6 @@
 #include "svn_path.h"
 #include "svn_props.h"
 
-#include "svn_private_config.h"
 #include "private/svn_dep_compat.h"
 #include "private/svn_fspath.h"
 #include "private/svn_skel.h"
@@ -397,10 +397,21 @@ checkout_dir(dir_context_t *dir,
     {
       if (p_dir->added)
         {
+          /* Calculate how much of the relpath to skip to compose the
+           * working_url.  If the relpath is an empty string then the parent
+           * is the root of the commit and we need to just add the entire
+           * relpath to the parent's working_url.  Otherwise we need to skip
+           * the strlen(parent->relpath) + 1 to account for the slash.
+           * It is safe to assume that every added directory has a parent. */
+          dir_context_t *parent = p_dir->parent_dir;
+          size_t skip = strlen(parent->relpath);
+          if (skip)
+            skip++;
+
           /* Implicitly checkout this dir now. */
           dir->working_url = svn_path_url_add_component2(
-                                   dir->parent_dir->working_url,
-                                   dir->name, dir->pool);
+                                   parent->working_url,
+                                   dir->relpath + skip, dir->pool);
           return SVN_NO_ERROR;
         }
       p_dir = p_dir->parent_dir;

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/getlocations.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/getlocations.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/getlocations.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/getlocations.c Thu Aug  1 14:55:32 2013
@@ -27,12 +27,12 @@
 
 #include <serf.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_path.h"
 #include "svn_pools.h"
 #include "svn_ra.h"
 #include "svn_xml.h"
-#include "svn_private_config.h"
 
 #include "../libsvn_ra/ra_loader.h"
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/getlocationsegments.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/getlocationsegments.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/getlocationsegments.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/getlocationsegments.c Thu Aug  1 14:55:32 2013
@@ -27,12 +27,12 @@
 #include <apr_uri.h>
 #include <serf.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_pools.h"
 #include "svn_ra.h"
 #include "svn_xml.h"
 #include "svn_path.h"
-#include "svn_private_config.h"
 #include "../libsvn_ra/ra_loader.h"
 
 #include "ra_serf.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/getlocks.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/getlocks.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/getlocks.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/getlocks.c Thu Aug  1 14:55:32 2013
@@ -27,6 +27,7 @@
 
 #include <serf.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_path.h"
 #include "svn_pools.h"
@@ -37,7 +38,6 @@
 
 #include "private/svn_dav_protocol.h"
 #include "private/svn_fspath.h"
-#include "svn_private_config.h"
 
 #include "../libsvn_ra/ra_loader.h"
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/inherited_props.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/inherited_props.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/inherited_props.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/inherited_props.c Thu Aug  1 14:55:32 2013
@@ -25,6 +25,7 @@
 #include <apr_tables.h>
 #include <apr_xml.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_path.h"
 #include "svn_ra.h"
@@ -35,7 +36,6 @@
 
 #include "private/svn_dav_protocol.h"
 #include "../libsvn_ra/ra_loader.h"
-#include "svn_private_config.h"
 #include "ra_serf.h"
 
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/log.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/log.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/log.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/log.c Thu Aug  1 14:55:32 2013
@@ -26,6 +26,7 @@
 #include <apr_uri.h>
 #include <serf.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_pools.h"
 #include "svn_ra.h"
@@ -39,7 +40,6 @@
 #include "private/svn_dav_protocol.h"
 #include "private/svn_string_private.h"
 #include "private/svn_subr_private.h"
-#include "svn_private_config.h"
 
 #include "ra_serf.h"
 #include "../libsvn_ra/ra_loader.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/merge.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/merge.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/merge.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/merge.c Thu Aug  1 14:55:32 2013
@@ -27,6 +27,7 @@
 
 #include <serf.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_pools.h"
 #include "svn_ra.h"
@@ -38,7 +39,6 @@
 
 #include "private/svn_dav_protocol.h"
 #include "private/svn_fspath.h"
-#include "svn_private_config.h"
 
 #include "ra_serf.h"
 #include "../libsvn_ra/ra_loader.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/mergeinfo.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/mergeinfo.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/mergeinfo.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/mergeinfo.c Thu Aug  1 14:55:32 2013
@@ -24,6 +24,7 @@
 #include <apr_tables.h>
 #include <apr_xml.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_mergeinfo.h"
 #include "svn_path.h"
@@ -33,7 +34,6 @@
 
 #include "private/svn_dav_protocol.h"
 #include "../libsvn_ra/ra_loader.h"
-#include "svn_private_config.h"
 #include "ra_serf.h"
 
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/options.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/options.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/options.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/options.c Thu Aug  1 14:55:32 2013
@@ -27,6 +27,7 @@
 
 #include <serf.h>
 
+#include "svn_private_config.h"
 #include "svn_dirent_uri.h"
 #include "svn_hash.h"
 #include "svn_pools.h"
@@ -35,7 +36,6 @@
 #include "svn_xml.h"
 
 #include "../libsvn_ra/ra_loader.h"
-#include "svn_private_config.h"
 #include "private/svn_fspath.h"
 
 #include "ra_serf.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/property.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/property.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/property.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/property.c Thu Aug  1 14:55:32 2013
@@ -25,6 +25,7 @@
 
 #include <serf.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_path.h"
 #include "svn_base64.h"
@@ -35,7 +36,6 @@
 #include "private/svn_dav_protocol.h"
 #include "private/svn_fspath.h"
 #include "private/svn_string_private.h"
-#include "svn_private_config.h"
 
 #include "ra_serf.h"
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/replay.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/replay.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/replay.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/replay.c Thu Aug  1 14:55:32 2013
@@ -26,6 +26,7 @@
 #include <apr_uri.h>
 #include <serf.h>
 
+#include "svn_private_config.h"
 #include "svn_pools.h"
 #include "svn_ra.h"
 #include "svn_dav.h"
@@ -36,7 +37,6 @@
 #include "svn_delta.h"
 #include "svn_base64.h"
 #include "svn_path.h"
-#include "svn_private_config.h"
 
 #include "private/svn_string_private.h"
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/serf.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/serf.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/serf.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/serf.c Thu Aug  1 14:55:32 2013
@@ -29,6 +29,7 @@
 #include <apr_uri.h>
 #include <serf.h>
 
+#include "svn_private_config.h"
 #include "svn_pools.h"
 #include "svn_ra.h"
 #include "svn_dav.h"
@@ -46,7 +47,6 @@
 #include "private/svn_dep_compat.h"
 #include "private/svn_fspath.h"
 #include "private/svn_subr_private.h"
-#include "svn_private_config.h"
 
 #include "ra_serf.h"
 

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/update.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/update.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/update.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/update.c Thu Aug  1 14:55:32 2013
@@ -31,6 +31,7 @@
 
 #include <serf.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_pools.h"
 #include "svn_ra.h"
@@ -41,7 +42,6 @@
 #include "svn_base64.h"
 #include "svn_props.h"
 
-#include "svn_private_config.h"
 #include "private/svn_dep_compat.h"
 #include "private/svn_fspath.h"
 #include "private/svn_string_private.h"

Modified: subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/util.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/util.c?rev=1509270&r1=1509269&r2=1509270&view=diff
==============================================================================
--- subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/util.c (original)
+++ subversion/branches/fsfs-improvements/subversion/libsvn_ra_serf/util.c Thu Aug  1 14:55:32 2013
@@ -35,10 +35,10 @@
 
 #include <expat.h>
 
+#include "svn_private_config.h"
 #include "svn_hash.h"
 #include "svn_dirent_uri.h"
 #include "svn_path.h"
-#include "svn_private_config.h"
 #include "svn_string.h"
 #include "svn_xml.h"
 #include "svn_props.h"



Mime
View raw message