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/11/06 15:08:24 UTC
svn commit: r1712966 - in /subversion/branches/move-tracking-2/subversion:
include/private/svn_branch.h libsvn_delta/branch.c
libsvn_delta/branch_nested.c
Author: julianfoad
Date: Fri Nov 6 14:08:24 2015
New Revision: 1712966
URL: http://svn.apache.org/viewvc?rev=1712966&view=rev
Log:
On the 'move-tracking-2' branch: Remove svn_branch_instantiate_elements()
from the public API and reimplement svn_branch_instantiate_elements_r() in a
way that will work with a class derived from the branch_state class.
* subversion/include/private/svn_branch.h,
subversion/libsvn_delta/branch.c
(branch_instantiate_elements): Rename from
'svn_branch_instantiate_elements' and make private.
(branch_txn_branch): Track the rename.
* subversion/libsvn_delta/branch_nested.c
(branch_instantiate_elements): New function, similar to the one above but
using the public methods of the branch_state class.
(svn_branch_instantiate_elements_r): Use it.
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_nested.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=1712966&r1=1712965&r2=1712966&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 Fri Nov 6 14:08:24 2015
@@ -613,16 +613,6 @@ svn_error_t *
svn_branch_state_purge(svn_branch_state_t *branch,
apr_pool_t *scratch_pool);
-/* Instantiate elements in a branch.
- *
- * In TO_BRANCH, instantiate (or alter, if existing) each element of
- * ELEMENTS, each with its given tree structure (parent, name) and payload.
- */
-svn_error_t *
-svn_branch_instantiate_elements(svn_branch_state_t *to_branch,
- const svn_element_tree_t *elements,
- apr_pool_t *scratch_pool);
-
/* Create a copy of NEW_SUBTREE in TO_BRANCH.
*
* For each non-root element in NEW_SUBTREE, create a new element with
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=1712966&r1=1712965&r2=1712966&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_delta/branch.c (original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_delta/branch.c Fri Nov 6 14:08:24 2015
@@ -81,6 +81,11 @@ branch_state_create(const char *bid,
svn_branch_txn_t *txn,
apr_pool_t *result_pool);
+static svn_error_t *
+branch_instantiate_elements(svn_branch_state_t *to_branch,
+ const svn_element_tree_t *elements,
+ apr_pool_t *scratch_pool);
+
/* */
static apr_pool_t *
branch_state_pool_get(svn_branch_state_t *branch)
@@ -282,8 +287,8 @@ branch_txn_branch(svn_branch_txn_t *txn,
from->eid, scratch_pool);
/* Populate the mapping from the 'from' source */
- SVN_ERR(svn_branch_instantiate_elements(new_branch, from_subtree,
- scratch_pool));
+ SVN_ERR(branch_instantiate_elements(new_branch, from_subtree,
+ scratch_pool));
new_branch->priv->is_flat = TRUE;
if (new_branch_p)
@@ -1184,14 +1189,18 @@ svn_branch_map_add_subtree(svn_branch_st
return SVN_NO_ERROR;
}
-svn_error_t *
-svn_branch_instantiate_elements(svn_branch_state_t *to_branch,
- const svn_element_tree_t *elements,
- apr_pool_t *scratch_pool)
+/* Instantiate elements in a branch.
+ *
+ * In TO_BRANCH, instantiate (or alter, if existing) each element of
+ * ELEMENTS, each with its given tree structure (parent, name) and payload.
+ */
+static svn_error_t *
+branch_instantiate_elements(svn_branch_state_t *to_branch,
+ const svn_element_tree_t *elements,
+ apr_pool_t *scratch_pool)
{
apr_hash_index_t *hi;
- /* Instantiate all the elements of NEW_SUBTREE */
for (hi = apr_hash_first(scratch_pool, elements->e_map);
hi; hi = apr_hash_next(hi))
{
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=1712966&r1=1712965&r2=1712966&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 Fri Nov 6 14:08:24 2015
@@ -213,13 +213,38 @@ svn_branch_subtree_get_subbranch_at_eid(
return subtree;
}
+/* Instantiate ELEMENTS in TO_BRANCH.
+ */
+static svn_error_t *
+branch_instantiate_elements(svn_branch_state_t *to_branch,
+ const svn_element_tree_t *elements,
+ apr_pool_t *scratch_pool)
+{
+ apr_hash_index_t *hi;
+
+ for (hi = apr_hash_first(scratch_pool, elements->e_map);
+ hi; hi = apr_hash_next(hi))
+ {
+ int this_eid = svn_int_hash_this_key(hi);
+ svn_element_content_t *this_element = apr_hash_this_val(hi);
+
+ svn_branch_state_alter_one(to_branch, this_eid,
+ this_element->parent_eid,
+ this_element->name,
+ this_element->payload,
+ scratch_pool);
+ }
+
+ return SVN_NO_ERROR;
+}
+
svn_error_t *
svn_branch_instantiate_elements_r(svn_branch_state_t *to_branch,
svn_branch_subtree_t elements,
apr_pool_t *scratch_pool)
{
- SVN_ERR(svn_branch_instantiate_elements(to_branch, elements.tree,
- scratch_pool));
+ SVN_ERR(branch_instantiate_elements(to_branch, elements.tree,
+ scratch_pool));
/* branch any subbranches */
{