On Monday 22 October 2012 06:53 PM, Hyrum K Wright wrote:
On Mon, Oct 22, 2012 at 7:55 AM, Philip Martin
<philip.mar...@wandisco.com> wrote:
hwri...@apache.org writes:

Author: hwright
Date: Sun Oct 21 01:18:26 2012
New Revision: 1400545

URL: http://svn.apache.org/viewvc?rev=1400545&view=rev
Log:
Refactor the pre-1.5 fallback code for replay_ranges into a separate function.

* subversion/libsvn_ra/ra_loader.c
   (replay_range_from_replays): New.
   (svn_ra_replay_range): Call the factored out code.
This causes svnrdump_tests.py 43 and lots of svnsync_tests.py to FAIL
over ra_svn.  It looks like an innocuous change, I can't see the error
in the code.
Thanks for pointing out the failures.  I won't be able to get around
to fixing it for (at least) several hours, so feel free to revert in
the meantime if it's a large issue.


If it is a serious issue, the attached patch will fix it. But I am trying to understand what is wrong with the previous commit.

Thanks & Regards,
Vijayaguru


-Hyrum

Index: subversion/libsvn_ra/ra_loader.c
===================================================================
--- subversion/libsvn_ra/ra_loader.c	(revision 1400760)
+++ subversion/libsvn_ra/ra_loader.c	(working copy)
@@ -1189,17 +1189,19 @@
                                   revstart_func, revfinish_func,
                                   replay_baton, pool);
 
-  if (err && (err->apr_err != SVN_ERR_RA_NOT_IMPLEMENTED))
-    return svn_error_trace(err);
+  if (err && (err->apr_err == SVN_ERR_RA_NOT_IMPLEMENTED))
+    {
+      svn_error_clear(err);
+      return svn_error_trace(replay_range_from_replays(session, start_revision,
+                                                       end_revision,
+                                                       low_water_mark,
+                                                       text_deltas,
+                                                       revstart_func,
+                                                       revfinish_func,
+                                                       replay_baton, pool));
 
-  svn_error_clear(err);
-  return svn_error_trace(replay_range_from_replays(session, start_revision,
-                                                   end_revision,
-                                                   low_water_mark,
-                                                   text_deltas,
-                                                   revstart_func,
-                                                   revfinish_func,
-                                                   replay_baton, pool));
+    }
+  return svn_error_trace(err);
 }
 
 svn_error_t *

Reply via email to