Author: stefan2
Date: Fri Sep 27 21:19:50 2013
New Revision: 1527084

URL: http://svn.apache.org/r1527084
Log:
We should not ascribe all problems detected by is_changed_node()
to simple out-of-date-ness.  FS corruption etc. should still
reported as such to (ultimately) the client.

* subversion/libsvn_fs_fs/tree.c
  (copy_helper): only report "node not found" as "out of date"

Found by: ivan

Modified:
    subversion/trunk/subversion/libsvn_fs_fs/tree.c

Modified: subversion/trunk/subversion/libsvn_fs_fs/tree.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/tree.c?rev=1527084&r1=1527083&r2=1527084&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/tree.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/tree.c Fri Sep 27 21:19:50 2013
@@ -2513,6 +2513,13 @@ copy_helper(svn_fs_root_t *from_root,
           svn_error_t *err = is_changed_node(&changed, from_root,
                                              from_path, txn_id->revision,
                                              pool);
+
+          /* Only "not found" is considered to be caused by out-of-date-ness.
+             Everything else means something got very wrong ... */
+          if (err && err->apr_err != SVN_ERR_FS_NOT_FOUND)
+            return svn_error_trace(err);
+
+          /* here error means "out of data" */
           if (err || changed)
             {
               svn_error_clear(err);


Reply via email to