You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ph...@apache.org on 2010/11/25 17:39:29 UTC

svn commit: r1039089 - in /subversion/trunk/subversion: libsvn_wc/wc_db.c tests/libsvn_wc/op-depth-test.c

Author: philip
Date: Thu Nov 25 16:39:28 2010
New Revision: 1039089

URL: http://svn.apache.org/viewvc?rev=1039089&view=rev
Log:
Fix copy_tests.py 83 for SVN_WC__OP_DEPTH.

* subversion/libsvn_wc/wc_db.c
  (get_info_for_copy): Examine the base node when it is deleted.

* subversion/tests/libsvn_wc/op-depth-test.c
  (test_wc_move): Tweak expected copyfrom.

Modified:
    subversion/trunk/subversion/libsvn_wc/wc_db.c
    subversion/trunk/subversion/tests/libsvn_wc/op-depth-test.c

Modified: subversion/trunk/subversion/libsvn_wc/wc_db.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db.c?rev=1039089&r1=1039088&r2=1039089&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db.c (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db.c Thu Nov 25 16:39:28 2010
@@ -2955,9 +2955,9 @@ get_info_for_copy(apr_int64_t *copyfrom_
     }
   else if (*status == svn_wc__db_status_deleted)
     {
-      const char *work_del_relpath;
+      const char *base_del_relpath, *work_del_relpath;
 
-      SVN_ERR(scan_deletion(NULL, NULL, NULL, &work_del_relpath,
+      SVN_ERR(scan_deletion(&base_del_relpath, NULL, NULL, &work_del_relpath,
                             pdh, local_relpath, scratch_pool, scratch_pool));
       if (work_del_relpath)
         {
@@ -2978,19 +2978,21 @@ get_info_for_copy(apr_int64_t *copyfrom_
                                                         local_relpath),
                                result_pool);
         }
-      else
+      else if (base_del_relpath)
         {
-          *copyfrom_relpath = repos_relpath;
-          *copyfrom_rev = revision;
-          if (!repos_root_url || !repos_uuid)
-            SVN_ERR(scan_upwards_for_repos(copyfrom_id, NULL,
-                                           pdh->wcroot, local_relpath,
-                                           result_pool, scratch_pool));
-          else
-            SVN_ERR(fetch_repos_id(copyfrom_id,
-                                   repos_root_url, repos_uuid,
-                                   pdh->wcroot->sdb, scratch_pool));
+          SVN_ERR(base_get_info(NULL, NULL, copyfrom_rev, copyfrom_relpath,
+                                &repos_root_url, &repos_uuid,
+                                NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+                                NULL, NULL,
+                                pdh, base_del_relpath,
+                                result_pool, scratch_pool));
+
+          SVN_ERR(fetch_repos_id(copyfrom_id,
+                                 repos_root_url, repos_uuid,
+                                 pdh->wcroot->sdb, scratch_pool));
         }
+      else
+        SVN_ERR_MALFUNCTION();
     }
   else
     {

Modified: subversion/trunk/subversion/tests/libsvn_wc/op-depth-test.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_wc/op-depth-test.c?rev=1039089&r1=1039088&r2=1039089&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/libsvn_wc/op-depth-test.c (original)
+++ subversion/trunk/subversion/tests/libsvn_wc/op-depth-test.c Thu Nov 25 16:39:28 2010
@@ -1693,7 +1693,7 @@ test_wc_move(const svn_test_opts_t *opts
       { 2, "A/B",             "base-deleted", NO_COPY_FROM },
       { 2, "A/B/C",           "base-deleted", NO_COPY_FROM },
       { 2, "A/B-move",        "normal",       1, "A/B" },
-      { 2, "A/B-move/C",      "not-present",  NO_COPY_FROM },
+      { 2, "A/B-move/C",      "not-present",  1, "A/B/C" },
       { 3, "A/B-move/C-move", "normal",       1, "A/B/C" },
       { 0 }
     };