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/16 12:38:43 UTC
svn commit: r1708952 - in /subversion/branches/move-tracking-2/subversion:
include/private/svn_branch.h libsvn_delta/branch.c libsvn_delta/compat3e.c
Author: julianfoad
Date: Fri Oct 16 10:38:43 2015
New Revision: 1708952
URL: http://svn.apache.org/viewvc?rev=1708952&view=rev
Log:
On the 'move-tracking-2' branch: Tweak.
* subversion/include/private/svn_branch.h,
subversion/libsvn_delta/branch.c
(svn_branch_revision_root_get_branches): Return a copy of the array.
* subversion/libsvn_delta/compat3e.c
(drive_changes): Use svn_branch_revision_root_get_branches() instead
of direct access.
(editor3_sequence_point): Use svn_branch_revision_root_get_branches()
instead of direct access, and thus simplify a little.
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/compat3e.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=1708952&r1=1708951&r2=1708952&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 Oct 16 10:38:43 2015
@@ -162,7 +162,7 @@ svn_branch_revision_root_create(svn_bran
*
* Return an empty array if there are none.
*/
-const apr_array_header_t *
+apr_array_header_t *
svn_branch_revision_root_get_branches(svn_branch_revision_root_t *rev_root,
apr_pool_t *result_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=1708952&r1=1708951&r2=1708952&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_delta/branch.c (original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_delta/branch.c Fri Oct 16 10:38:43 2015
@@ -171,11 +171,11 @@ svn_branch_txn_finalize_eids(svn_branch_
return SVN_NO_ERROR;
}
-const apr_array_header_t *
+apr_array_header_t *
svn_branch_revision_root_get_branches(svn_branch_revision_root_t *rev_root,
apr_pool_t *result_pool)
{
- return rev_root->branches;
+ return apr_array_copy(result_pool, rev_root->branches);
}
svn_branch_state_t *
Modified: subversion/branches/move-tracking-2/subversion/libsvn_delta/compat3e.c
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_delta/compat3e.c?rev=1708952&r1=1708951&r2=1708952&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_delta/compat3e.c (original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_delta/compat3e.c Fri Oct 16 10:38:43 2015
@@ -1817,6 +1817,7 @@ static svn_error_t *
drive_changes(ev3_from_delta_baton_t *eb,
apr_pool_t *scratch_pool)
{
+ apr_array_header_t *branches;
int i;
const apr_array_header_t *paths;
@@ -1828,10 +1829,11 @@ drive_changes(ev3_from_delta_baton_t *eb
*/
/* Process one hierarchy of nested branches at a time. */
- for (i = 0; i < eb->edited_rev_root->branches->nelts; i++)
+ branches = svn_branch_revision_root_get_branches(eb->edited_rev_root,
+ scratch_pool);
+ for (i = 0; i < branches->nelts; i++)
{
- svn_branch_state_t *root_branch
- = APR_ARRAY_IDX(eb->edited_rev_root->branches, i, void *);
+ svn_branch_state_t *root_branch = APR_ARRAY_IDX(branches, i, void *);
apr_hash_t *paths_final;
const char *top_path = branch_get_storage_root_rrpath(root_branch,
@@ -1905,6 +1907,7 @@ editor3_sequence_point(void *baton,
apr_pool_t *scratch_pool)
{
ev3_from_delta_baton_t *eb = baton;
+ apr_array_header_t *branches;
int i;
/* first, purge elements in each branch */
@@ -1917,10 +1920,11 @@ editor3_sequence_point(void *baton,
}
/* second, purge branches that are no longer nested */
- for (i = 0; i < eb->edited_rev_root->branches->nelts; i++)
+ branches = svn_branch_revision_root_get_branches(eb->edited_rev_root,
+ scratch_pool);
+ for (i = 0; i < branches->nelts; i++)
{
- svn_branch_state_t *b
- = APR_ARRAY_IDX(eb->edited_rev_root->branches, i, void *);
+ svn_branch_state_t *b = APR_ARRAY_IDX(branches, i, void *);
svn_branch_state_t *outer_branch;
int outer_eid;
@@ -1931,8 +1935,6 @@ editor3_sequence_point(void *baton,
&& ! svn_branch_get_element(outer_branch, outer_eid))
{
svn_branch_revision_root_delete_branch(b->rev_root, b, scratch_pool);
- /* Re-visit this position in the array */
- i--;
}
}