You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2016/12/05 10:06:16 UTC
svn commit: r1772621 - /subversion/trunk/subversion/libsvn_client/conflicts.c
Author: stsp
Date: Mon Dec 5 10:06:16 2016
New Revision: 1772621
URL: http://svn.apache.org/viewvc?rev=1772621&view=rev
Log:
Refactor a small bit of conflict resolver code. No functional change.
* subversion/libsvn_client/conflicts.c
(find_nested_move): Return a move info struct instead of a a repository
path + copy struct pair.
(find_deleted_rev): Adjust accordingly. Some code is moving from here into
find_nested_move() as a result.
Modified:
subversion/trunk/subversion/libsvn_client/conflicts.c
Modified: subversion/trunk/subversion/libsvn_client/conflicts.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/conflicts.c?rev=1772621&r1=1772620&r2=1772621&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/conflicts.c (original)
+++ subversion/trunk/subversion/libsvn_client/conflicts.c Mon Dec 5 10:06:16 2016
@@ -628,13 +628,13 @@ map_deleted_path_to_move(const char *del
}
static svn_error_t *
-find_nested_move(const char **moved_from_repos_relpath,
- struct copy_info **move_destination,
+find_nested_move(struct repos_move_info **nested_move,
const char *deleted_repos_relpath,
apr_array_header_t *moves,
apr_hash_t *copies,
apr_array_header_t *deleted_paths,
svn_revnum_t revision,
+ svn_string_t *author,
const char *repos_root_url,
const char *repos_uuid,
svn_ra_session_t *ra_session,
@@ -644,9 +644,10 @@ find_nested_move(const char **moved_from
{
int i;
apr_pool_t *iterpool;
+ struct copy_info *move_destination = NULL;
+ const char *moved_from_repos_relpath = NULL;
- *moved_from_repos_relpath = NULL;
- *move_destination = NULL;
+ *nested_move = NULL;
iterpool = svn_pool_create(scratch_pool);
for (i = 0; i < deleted_paths->nelts; i++)
@@ -698,14 +699,32 @@ find_nested_move(const char **moved_from
if (related)
{
- *moved_from_repos_relpath =
+ moved_from_repos_relpath =
apr_pstrdup(result_pool, moved_along_repos_relpath);
- *move_destination = copy;
+ move_destination = copy;
break;
}
}
svn_pool_destroy(iterpool);
+ if (moved_from_repos_relpath && move_destination)
+ {
+ struct repos_move_info *move;
+
+ /* Remember details of this move. */
+ move = apr_pcalloc(result_pool, sizeof(*move));
+ move->moved_from_repos_relpath = moved_from_repos_relpath;
+ move->moved_to_repos_relpath =
+ apr_pstrdup(result_pool,
+ move_destination->copyto_path);
+ move->rev = revision;
+ move->rev_author = apr_pstrdup(result_pool, author->data);
+ move->copyfrom_rev = move_destination->copyfrom_rev;
+
+ APR_ARRAY_PUSH(moves, struct repos_move_info *) = move;
+ *nested_move = move;
+ }
+
return SVN_NO_ERROR;
}
@@ -867,36 +886,22 @@ find_deleted_rev(void *baton,
sizeof(svn_revnum_t));
if (moves)
{
- const char *moved_from_repos_relpath;
- struct copy_info *copy;
- svn_string_t *author;
+ struct repos_move_info *nested_move;
- SVN_ERR(find_nested_move(&moved_from_repos_relpath, ©,
+ SVN_ERR(find_nested_move(&nested_move,
b->deleted_repos_relpath,
moves, copies, deleted_paths,
log_entry->revision,
+ svn_hash_gets(log_entry->revprops,
+ SVN_PROP_REVISION_AUTHOR),
b->repos_root_url,
b->repos_uuid,
b->extra_ra_session, b->ctx,
b->result_pool, scratch_pool));
- if (moved_from_repos_relpath && copy)
+ if (nested_move)
{
- struct repos_move_info *move;
-
- /* Remember details of this move. */
- move = apr_pcalloc(b->result_pool, sizeof(*move));
- move->moved_from_repos_relpath = moved_from_repos_relpath;
- move->moved_to_repos_relpath = apr_pstrdup(b->result_pool,
- copy->copyto_path);
- move->rev = log_entry->revision;
- author = svn_hash_gets(log_entry->revprops,
- SVN_PROP_REVISION_AUTHOR);
- move->rev_author = apr_pstrdup(b->result_pool, author->data);
- move->copyfrom_rev = copy->copyfrom_rev;
-
- APR_ARRAY_PUSH(moves, struct repos_move_info *) = move;
deleted_node_found = TRUE;
- b->deleted_repos_relpath = move->moved_from_repos_relpath;
+ b->deleted_repos_relpath = nested_move->moved_from_repos_relpath;
}
}
}