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/05/05 18:18:01 UTC
svn commit: r1677855 - in /subversion/branches/move-tracking-2/subversion:
include/private/svn_branch.h libsvn_delta/branch.c
Author: julianfoad
Date: Tue May 5 16:18:01 2015
New Revision: 1677855
URL: http://svn.apache.org/r1677855
Log:
On the 'move-tracking-2' branch: Delete a branch_state_t API function that
assumed branch state would have access by paths.
* subversion/include/private/svn_branch.h,
subversion/libsvn_delta/branch.c
(svn_branch_get_subbranches): Delete.
(svn_branch_get_subtree): Gather subbranches a different way, using
svn_branch_get_all_subbranches() instead of svn_branch_get_subbranches().
Modified:
subversion/branches/move-tracking-2/subversion/include/private/svn_branch.h
subversion/branches/move-tracking-2/subversion/libsvn_delta/branch.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=1677855&r1=1677854&r2=1677855&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 Tue May 5 16:18:01 2015
@@ -247,15 +247,6 @@ svn_branch_delete_branch_r(svn_branch_st
apr_pool_t *scratch_pool);
/* Return an array of pointers to the branches that are immediate
- * sub-branches of BRANCH at or below EID.
- */
-apr_array_header_t *
-svn_branch_get_subbranches(const svn_branch_state_t *branch,
- int eid,
- apr_pool_t *result_pool,
- apr_pool_t *scratch_pool);
-
-/* Return an array of pointers to the branches that are immediate
* sub-branches of BRANCH.
*/
apr_array_header_t *
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=1677855&r1=1677854&r2=1677855&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_delta/branch.c (original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_delta/branch.c Tue May 5 16:18:01 2015
@@ -411,14 +411,23 @@ svn_branch_get_subtree(const svn_branch_
-1, "", subtree_root_element->payload, result_pool));
/* Add subbranches */
- for (SVN_ARRAY_ITER(bi, svn_branch_get_subbranches(branch, eid,
- result_pool, result_pool),
- result_pool))
+ for (SVN_ARRAY_ITER(bi, svn_branch_get_all_subbranches(
+ branch, result_pool, result_pool), result_pool))
{
- svn_branch_subtree_t *this_subtree
- = svn_branch_get_subtree(bi->val, bi->val->root_eid, result_pool);
+ svn_branch_state_t *subbranch = bi->val;
+ const char *subbranch_relpath_in_subtree
+ = svn_branch_subtree_get_path_by_eid(new_subtree, subbranch->outer_eid,
+ bi->iterpool);
- svn_int_hash_set(new_subtree->subbranches, bi->val->outer_eid, this_subtree);
+ /* Is it pathwise at or below EID? If so, add it into the subtree. */
+ if (subbranch_relpath_in_subtree)
+ {
+ svn_branch_subtree_t *this_subtree
+ = svn_branch_get_subtree(subbranch, subbranch->root_eid, result_pool);
+
+ svn_int_hash_set(new_subtree->subbranches, subbranch->outer_eid,
+ this_subtree);
+ }
}
return new_subtree;
}
@@ -734,31 +743,6 @@ svn_branch_instantiate_subtree(svn_branc
}
apr_array_header_t *
-svn_branch_get_subbranches(const svn_branch_state_t *branch,
- int eid,
- apr_pool_t *result_pool,
- apr_pool_t *scratch_pool)
-{
- const char *top_rrpath = svn_branch_get_rrpath_by_eid(branch, eid,
- scratch_pool);
- svn_array_t *subbranches = svn_array_make(result_pool);
- SVN_ITER_T(svn_branch_state_t) *bi;
-
- for (SVN_ARRAY_ITER(bi, branch->rev_root->branches, scratch_pool))
- {
- svn_branch_state_t *subbranch = bi->val;
- const char *subbranch_root_rrpath
- = svn_branch_get_root_rrpath(subbranch, bi->iterpool);
-
- /* Is it an immediate child at or below EID? */
- if (subbranch->outer_branch == branch
- && svn_relpath_skip_ancestor(top_rrpath, subbranch_root_rrpath))
- SVN_ARRAY_PUSH(subbranches) = bi->val;
- }
- return subbranches;
-}
-
-apr_array_header_t *
svn_branch_get_all_subbranches(const svn_branch_state_t *branch,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool)