Author: stsp
Date: Tue Apr 10 17:34:08 2012
New Revision: 1311879

URL: http://svn.apache.org/viewvc?rev=1311879&view=rev
Log:
* subversion/libsvn_client/diff.c
  (arbitrary_diff_walker): Improve docstring. Move code to initialise the
    CHILD_RELPATH down a bit so that initialisation happens closer to usage.

Modified:
    subversion/trunk/subversion/libsvn_client/diff.c

Modified: subversion/trunk/subversion/libsvn_client/diff.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/diff.c?rev=1311879&r1=1311878&r2=1311879&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/diff.c (original)
+++ subversion/trunk/subversion/libsvn_client/diff.c Tue Apr 10 17:34:08 2012
@@ -2007,7 +2007,9 @@ do_arbitrary_dirs_diff(const char *local
   return SVN_NO_ERROR;
 }
 
-/* An implementation of svn_io_walk_func_t. */
+/* An implementation of svn_io_walk_func_t.
+ * Note: LOCAL_ABSPATH is the path being crawled and can be on either side
+ * of the diff depending on baton->recursing_within_added_subtree. */
 static svn_error_t *
 arbitrary_diff_walker(void *baton, const char *local_abspath,
                       const apr_finfo_t *finfo,
@@ -2032,13 +2034,6 @@ arbitrary_diff_walker(void *baton, const
   if (finfo->filetype != APR_DIR)
     return SVN_NO_ERROR;
 
-  if (b->recursing_within_added_subtree)
-    child_relpath = svn_dirent_skip_ancestor(b->root2_abspath, local_abspath);
-  else
-    child_relpath = svn_dirent_skip_ancestor(b->root1_abspath, local_abspath);
-  if (!child_relpath)
-    return SVN_NO_ERROR;
-
   if (b->recursing_within_adm_dir)
     {
       if (svn_dirent_skip_ancestor(b->adm_dir_abspath, local_abspath))
@@ -2057,6 +2052,13 @@ arbitrary_diff_walker(void *baton, const
       return SVN_NO_ERROR;
     }
 
+  if (b->recursing_within_added_subtree)
+    child_relpath = svn_dirent_skip_ancestor(b->root2_abspath, local_abspath);
+  else
+    child_relpath = svn_dirent_skip_ancestor(b->root1_abspath, local_abspath);
+  if (!child_relpath)
+    return SVN_NO_ERROR;
+
   local_abspath1 = svn_dirent_join(b->root1_abspath, child_relpath,
                                    scratch_pool);
   SVN_ERR(svn_io_check_resolved_path(local_abspath1, &kind1, scratch_pool));


Reply via email to