You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2015/10/26 10:17:57 UTC

svn commit: r1710534 - in /subversion/branches/move-tracking-2/subversion: include/private/svn_branch.h libsvn_delta/branch.c libsvn_delta/branch_compat.c libsvn_delta/branch_nested.c libsvn_delta/branch_private.h svnmover/svnmover.c

Author: julianfoad
Date: Mon Oct 26 09:17:57 2015
New Revision: 1710534

URL: http://svn.apache.org/viewvc?rev=1710534&view=rev
Log:
On the 'move-tracking-2' branch: Remove a remnant of nesting from the branch
txn API: take the new branch id directly, rather an outer branch id and an
outer eid.

* subversion/include/private/svn_branch.h
  subversion/libsvn_delta/branch.c
  (branch_txn_open_branch,
   branch_txn_branch,
   svn_branch_txn_open_branch,
   svn_branch_txn_branch): Take the new branch id directly, rather an outer
    branch id and an outer eid.

* subversion/libsvn_delta/branch_compat.c
  (compat_branch_txn_open_branch,
   compat_branch_txn_branch): Same.

* subversion/libsvn_delta/branch_nested.c
  (nested_branch_txn_open_branch,
   nested_branch_txn_branch): Same.

* subversion/libsvn_delta/branch_private.h
  (branch_txn_v_open_branch_t,
   branch_txn_v_branch_t): Same.

* subversion/svnmover/svnmover.c
  (svn_branch_replay,
   merge_subbranch,
   mk_branch,
   do_branch,
   do_topbranch): Adjust callers to provide the new branch id.

Modified:
    subversion/branches/move-tracking-2/subversion/include/private/svn_branch.h
    subversion/branches/move-tracking-2/subversion/libsvn_delta/branch.c
    subversion/branches/move-tracking-2/subversion/libsvn_delta/branch_compat.c
    subversion/branches/move-tracking-2/subversion/libsvn_delta/branch_nested.c
    subversion/branches/move-tracking-2/subversion/libsvn_delta/branch_private.h
    subversion/branches/move-tracking-2/subversion/svnmover/svnmover.c

Modified: subversion/branches/move-tracking-2/subversion/include/private/svn_branch.h
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/include/private/svn_branch.h?rev=1710534&r1=1710533&r2=1710534&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/include/private/svn_branch.h (original)
+++ subversion/branches/move-tracking-2/subversion/include/private/svn_branch.h Mon Oct 26 09:17:57 2015
@@ -203,8 +203,7 @@ svn_error_t *
 svn_branch_txn_open_branch(svn_branch_txn_t *txn,
                            svn_branch_state_t **new_branch_p,
                            svn_branch_rev_bid_t *predecessor,
-                           const char *outer_branch_id,
-                           int outer_eid,
+                           const char *new_branch_id,
                            int root_eid,
                            apr_pool_t *result_pool,
                            apr_pool_t *scratch_pool);
@@ -213,8 +212,7 @@ svn_error_t *
 svn_branch_txn_branch(svn_branch_txn_t *txn,
                       svn_branch_state_t **new_branch_p,
                       svn_branch_rev_bid_eid_t *from,
-                      const char *outer_branch_id,
-                      int outer_eid,
+                      const char *new_branch_id,
                       apr_pool_t *result_pool,
                       apr_pool_t *scratch_pool);
 

Modified: subversion/branches/move-tracking-2/subversion/libsvn_delta/branch.c
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_delta/branch.c?rev=1710534&r1=1710533&r2=1710534&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_delta/branch.c (original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_delta/branch.c Mon Oct 26 09:17:57 2015
@@ -211,18 +211,14 @@ static svn_error_t *
 branch_txn_open_branch(svn_branch_txn_t *txn,
                        svn_branch_state_t **new_branch_p,
                        svn_branch_rev_bid_t *predecessor,
-                       const char *outer_branch_id,
-                       int outer_eid,
+                       const char *new_branch_id,
                        int root_eid,
                        apr_pool_t *result_pool,
                        apr_pool_t *scratch_pool)
 {
-  const char *new_branch_id;
   svn_branch_state_t *new_branch;
 
   /* if the subbranch already exists, just return it */
-  new_branch_id
-    = svn_branch_id_nest(outer_branch_id, outer_eid, result_pool);
   new_branch
     = svn_branch_txn_get_branch_by_id(txn, new_branch_id, scratch_pool);
   if (new_branch)
@@ -247,8 +243,7 @@ static svn_error_t *
 branch_txn_branch(svn_branch_txn_t *txn,
                   svn_branch_state_t **new_branch_p,
                   svn_branch_rev_bid_eid_t *from,
-                  const char *outer_branch_id,
-                  int outer_eid,
+                  const char *new_branch_id,
                   apr_pool_t *result_pool,
                   apr_pool_t *scratch_pool)
 {
@@ -256,7 +251,6 @@ branch_txn_branch(svn_branch_txn_t *txn,
   svn_branch_state_t *new_branch;
   svn_branch_state_t *from_branch;
   svn_element_tree_t *from_subtree;
-  const char *new_branch_id;
 
   SVN_ERR(branch_in_rev_or_txn(&from_branch, from, txn, scratch_pool));
   /* Source branch must exist */
@@ -279,8 +273,6 @@ branch_txn_branch(svn_branch_txn_t *txn,
                                from->rev, from->bid, from->eid);
     }
 
-  new_branch_id
-    = svn_branch_id_nest(outer_branch_id, outer_eid, result_pool);
   predecessor = svn_branch_rev_bid_create(from->rev, from->bid, scratch_pool);
   new_branch = svn_branch_txn_add_new_branch(txn,
                                              new_branch_id,
@@ -411,15 +403,14 @@ svn_error_t *
 svn_branch_txn_open_branch(svn_branch_txn_t *txn,
                            svn_branch_state_t **new_branch_p,
                            svn_branch_rev_bid_t *predecessor,
-                           const char *outer_branch_id,
-                           int outer_eid,
+                           const char *new_branch_id,
                            int root_eid,
                            apr_pool_t *result_pool,
                            apr_pool_t *scratch_pool)
 {
   SVN_ERR(txn->vtable->open_branch(txn,
                                    new_branch_p,
-                                   predecessor, outer_branch_id, outer_eid,
+                                   predecessor, new_branch_id,
                                    root_eid, result_pool,
                                    scratch_pool));
   return SVN_NO_ERROR;
@@ -429,14 +420,13 @@ svn_error_t *
 svn_branch_txn_branch(svn_branch_txn_t *txn,
                       svn_branch_state_t **new_branch_p,
                       svn_branch_rev_bid_eid_t *from,
-                      const char *outer_branch_id,
-                      int outer_eid,
+                      const char *new_branch_id,
                       apr_pool_t *result_pool,
                       apr_pool_t *scratch_pool)
 {
   SVN_ERR(txn->vtable->branch(txn,
                               new_branch_p,
-                              from, outer_branch_id, outer_eid, result_pool,
+                              from, new_branch_id, result_pool,
                               scratch_pool));
   return SVN_NO_ERROR;
 }

Modified: subversion/branches/move-tracking-2/subversion/libsvn_delta/branch_compat.c
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_delta/branch_compat.c?rev=1710534&r1=1710533&r2=1710534&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_delta/branch_compat.c (original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_delta/branch_compat.c Mon Oct 26 09:17:57 2015
@@ -1739,8 +1739,7 @@ static svn_error_t *
 compat_branch_txn_open_branch(svn_branch_txn_t *txn,
                               svn_branch_state_t **new_branch_p,
                               svn_branch_rev_bid_t *predecessor,
-                              const char *outer_branch_id,
-                              int outer_eid,
+                              const char *new_branch_id,
                               int root_eid,
                               apr_pool_t *result_pool,
                               apr_pool_t *scratch_pool)
@@ -1748,7 +1747,7 @@ compat_branch_txn_open_branch(svn_branch
   /* Just forwarding: nothing more is needed. */
   SVN_ERR(svn_branch_txn_open_branch(txn->priv->txn,
                                      new_branch_p, predecessor,
-                                     outer_branch_id, outer_eid, root_eid,
+                                     new_branch_id, root_eid,
                                      result_pool,
                                      scratch_pool));
   return SVN_NO_ERROR;
@@ -1759,8 +1758,7 @@ static svn_error_t *
 compat_branch_txn_branch(svn_branch_txn_t *txn,
                          svn_branch_state_t **new_branch_p,
                          svn_branch_rev_bid_eid_t *from,
-                         const char *outer_branch_id,
-                         int outer_eid,
+                         const char *new_branch_id,
                          apr_pool_t *result_pool,
                          apr_pool_t *scratch_pool)
 {
@@ -1769,7 +1767,7 @@ compat_branch_txn_branch(svn_branch_txn_
   /* Just forwarding: nothing more is needed. */
   SVN_ERR(svn_branch_txn_branch(txn->priv->txn,
                                 &new_branch, from,
-                                outer_branch_id, outer_eid,
+                                new_branch_id,
                                 result_pool,
                                 scratch_pool));
 

Modified: subversion/branches/move-tracking-2/subversion/libsvn_delta/branch_nested.c
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_delta/branch_nested.c?rev=1710534&r1=1710533&r2=1710534&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_delta/branch_nested.c (original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_delta/branch_nested.c Mon Oct 26 09:17:57 2015
@@ -463,8 +463,7 @@ static svn_error_t *
 nested_branch_txn_open_branch(svn_branch_txn_t *txn,
                               svn_branch_state_t **new_branch_p,
                               svn_branch_rev_bid_t *predecessor,
-                              const char *outer_branch_id,
-                              int outer_eid,
+                              const char *new_branch_id,
                               int root_eid,
                               apr_pool_t *result_pool,
                               apr_pool_t *scratch_pool)
@@ -472,7 +471,7 @@ nested_branch_txn_open_branch(svn_branch
   /* Just forwarding: nothing more is needed. */
   SVN_ERR(svn_branch_txn_open_branch(txn->priv->wrapped_txn,
                                      new_branch_p, predecessor,
-                                     outer_branch_id, outer_eid, root_eid,
+                                     new_branch_id, root_eid,
                                      result_pool,
                                      scratch_pool));
   return SVN_NO_ERROR;
@@ -484,8 +483,7 @@ static svn_error_t *
 nested_branch_txn_branch(svn_branch_txn_t *txn,
                          svn_branch_state_t **new_branch_p,
                          svn_branch_rev_bid_eid_t *from,
-                         const char *outer_branch_id,
-                         int outer_eid,
+                         const char *new_branch_id,
                          apr_pool_t *result_pool,
                          apr_pool_t *scratch_pool)
 {
@@ -495,7 +493,7 @@ nested_branch_txn_branch(svn_branch_txn_
 
   SVN_ERR(svn_branch_txn_branch(txn->priv->wrapped_txn,
                                 &new_branch, from,
-                                outer_branch_id, outer_eid,
+                                new_branch_id,
                                 result_pool,
                                 scratch_pool));
 

Modified: subversion/branches/move-tracking-2/subversion/libsvn_delta/branch_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_delta/branch_private.h?rev=1710534&r1=1710533&r2=1710534&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_delta/branch_private.h (original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_delta/branch_private.h Mon Oct 26 09:17:57 2015
@@ -88,8 +88,7 @@ typedef svn_error_t *(*branch_txn_v_open
   svn_branch_txn_t *txn,
   svn_branch_state_t **new_branch_p,
   svn_branch_rev_bid_t *predecessor,
-  const char *outer_branch_id,
-  int outer_eid,
+  const char *new_branch_id,
   int root_eid,
   apr_pool_t *result_pool,
   apr_pool_t *scratch_pool);
@@ -98,8 +97,7 @@ typedef svn_error_t *(*branch_txn_v_bran
   svn_branch_txn_t *txn,
   svn_branch_state_t **new_branch_p,
   svn_branch_rev_bid_eid_t *from,
-  const char *outer_branch_id,
-  int outer_eid,
+  const char *new_branch_id,
   apr_pool_t *result_pool,
   apr_pool_t *scratch_pool);
 

Modified: subversion/branches/move-tracking-2/subversion/svnmover/svnmover.c
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/svnmover/svnmover.c?rev=1710534&r1=1710533&r2=1710534&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/svnmover/svnmover.c (original)
+++ subversion/branches/move-tracking-2/subversion/svnmover/svnmover.c Mon Oct 26 09:17:57 2015
@@ -517,9 +517,12 @@ svn_branch_replay(svn_branch_txn_t *edit
              corresponding edit subbranch, or, if not found, create one. */
           if (right_subbranch)
             {
+              const char *new_branch_id
+                = svn_branch_id_nest(edit_branch->bid, this_eid, scratch_pool);
+
               SVN_ERR(svn_branch_txn_open_branch(edit_txn, &edit_subbranch,
                                                  right_subbranch->predecessor,
-                                                 edit_branch->bid, this_eid,
+                                                 new_branch_id,
                                                  svn_branch_root_eid(right_subbranch),
                                                  scratch_pool, scratch_pool));
             }
@@ -1660,6 +1663,9 @@ merge_subbranch(svn_branch_txn_t *edit_t
     }
   else if (subbr_src)  /* added on source branch */
     {
+      const char *new_branch_id
+        = svn_branch_id_nest(svn_branch_get_id(tgt->branch, scratch_pool),
+                             eid, scratch_pool);
       svn_branch_rev_bid_eid_t *from
         = svn_branch_rev_bid_eid_create(src_subbranch->txn->rev,
                                         svn_branch_get_id(src_subbranch,
@@ -1668,8 +1674,7 @@ merge_subbranch(svn_branch_txn_t *edit_t
                                         scratch_pool);
 
       SVN_ERR(svn_branch_txn_branch(edit_txn, NULL /*new_branch_id_p*/, from,
-                                    svn_branch_get_id(tgt->branch, scratch_pool),
-                                    eid, scratch_pool, scratch_pool));
+                                    new_branch_id, scratch_pool, scratch_pool));
     }
   else if (subbr_tgt)  /* added on target branch */
     {
@@ -2665,6 +2670,7 @@ mk_branch(const char **new_branch_id_p,
 {
   const char *outer_branch_id = svn_branch_get_id(outer_branch, scratch_pool);
   int new_outer_eid, new_inner_eid;
+  const char *new_branch_id;
   svn_branch_state_t *new_branch;
 
   SVN_ERR(svn_branch_txn_new_eid(txn, &new_outer_eid, scratch_pool));
@@ -2674,9 +2680,10 @@ mk_branch(const char **new_branch_id_p,
                                        scratch_pool), scratch_pool));
 
   SVN_ERR(svn_branch_txn_new_eid(txn, &new_inner_eid, scratch_pool));
+  new_branch_id = svn_branch_id_nest(outer_branch_id, new_outer_eid,
+                                     scratch_pool);
   SVN_ERR(svn_branch_txn_open_branch(txn, &new_branch,
-                                     NULL /*predecessor*/,
-                                     outer_branch_id, new_outer_eid,
+                                     NULL /*predecessor*/, new_branch_id,
                                      new_inner_eid, scratch_pool, scratch_pool));
   SVN_ERR(svn_branch_state_alter_one(new_branch, new_inner_eid,
                                      -1, "", payload, scratch_pool));
@@ -2715,13 +2722,16 @@ do_branch(svn_branch_state_t **new_branc
   const char *to_outer_branch_id
     = to_outer_branch ? svn_branch_get_id(to_outer_branch, scratch_pool) : NULL;
   int to_outer_eid;
+  const char *new_branch_id;
   svn_branch_state_t *new_branch;
 
   /* assign new eid to root element (outer branch) */
   SVN_ERR(svn_branch_txn_new_eid(txn, &to_outer_eid, scratch_pool));
 
+  new_branch_id = svn_branch_id_nest(to_outer_branch_id, to_outer_eid,
+                                     scratch_pool);
   SVN_ERR(svn_branch_txn_branch(txn, &new_branch,
-                                from, to_outer_branch_id, to_outer_eid,
+                                from, new_branch_id,
                                 result_pool, scratch_pool));
   SVN_ERR(svn_branch_state_alter_one(to_outer_branch, to_outer_eid,
                                      to_outer_parent_eid, new_name,
@@ -2746,12 +2756,14 @@ do_topbranch(svn_branch_state_t **new_br
              apr_pool_t *scratch_pool)
 {
   int outer_eid;
+  const char *new_branch_id;
   svn_branch_state_t *new_branch;
 
   SVN_ERR(svn_branch_txn_new_eid(txn, &outer_eid, scratch_pool));
+  new_branch_id = svn_branch_id_nest(NULL /*outer_branch*/, outer_eid,
+                                     scratch_pool);
   SVN_ERR(svn_branch_txn_branch(txn, &new_branch,
-                                from,
-                                NULL /*outer_branch*/, outer_eid,
+                                from, new_branch_id,
                                 result_pool, scratch_pool));
 
   notify_v("A+   (branch %s)",