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 2012/10/18 16:48:44 UTC
svn commit: r1399683 - in /subversion/trunk/subversion/libsvn_wc:
conflicts.c conflicts.h tree_conflict_editor.c
Author: stsp
Date: Thu Oct 18 14:48:44 2012
New Revision: 1399683
URL: http://svn.apache.org/viewvc?rev=1399683&view=rev
Log:
Add a result_pool parameter to svn_wc__update_moved_away_conflict_victim().
* subversion/libsvn_wc/conflicts.h
(svn_wc__update_moved_away_conflict_victim): Add result_pool parameter to
allocate returned work items in.
* subversion/libsvn_wc/conflicts.c
(conflict_status_walker): svn_wc__update_moved_away_conflict_victim() now
accepts two pools.
* subversion/libsvn_wc/tree_conflict_editor.c
(tc_editor_baton): Add result_pool.
(tc_editor_alter_file): Allocate new work items in the baton's result_pool.
(svn_wc__update_moved_away_conflict_victim): Add result_pool parameter and
pass it into the editor baton.
Modified:
subversion/trunk/subversion/libsvn_wc/conflicts.c
subversion/trunk/subversion/libsvn_wc/conflicts.h
subversion/trunk/subversion/libsvn_wc/tree_conflict_editor.c
Modified: subversion/trunk/subversion/libsvn_wc/conflicts.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/conflicts.c?rev=1399683&r1=1399682&r2=1399683&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/conflicts.c (original)
+++ subversion/trunk/subversion/libsvn_wc/conflicts.c Thu Oct 18 14:48:44 2012
@@ -2635,7 +2635,7 @@ conflict_status_walker(void *baton,
SVN_ERR(svn_wc__update_moved_away_conflict_victim(
&work_items, local_abspath, cswb->db,
cswb->cancel_func, cswb->cancel_baton,
- scratch_pool));
+ scratch_pool, scratch_pool));
else if (my_choice == svn_wc_conflict_choose_theirs_conflict)
{
/* ### TODO break move */
Modified: subversion/trunk/subversion/libsvn_wc/conflicts.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/conflicts.h?rev=1399683&r1=1399682&r2=1399683&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/conflicts.h (original)
+++ subversion/trunk/subversion/libsvn_wc/conflicts.h Thu Oct 18 14:48:44 2012
@@ -396,14 +396,15 @@ svn_wc__resolve_text_conflict(svn_wc__db
/* Update a moved-away tree conflict victim at VICTIM_ABSPATH with changes
* brought in by the update operation which flagged the tree conflict.
- * Set *WORK_ITEMS to a list of work items that need to run as part
- * of marking the conflict resolved. */
+ * Set *WORK_ITEMS to a list of work items, allocated in RESULT_POOL, that
+ * need to run as part of marking the conflict resolved. */
svn_error_t *
svn_wc__update_moved_away_conflict_victim(svn_skel_t **work_items,
const char *victim_abspath,
svn_wc__db_t *db,
svn_cancel_func_t cancel_func,
void *cancel_baton,
+ apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
#ifdef __cplusplus
Modified: subversion/trunk/subversion/libsvn_wc/tree_conflict_editor.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/tree_conflict_editor.c?rev=1399683&r1=1399682&r2=1399683&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/tree_conflict_editor.c (original)
+++ subversion/trunk/subversion/libsvn_wc/tree_conflict_editor.c Thu Oct 18 14:48:44 2012
@@ -59,6 +59,7 @@ struct tc_editor_baton {
svn_skel_t **work_items;
svn_wc_conflict_version_t *old_version;
svn_wc_conflict_version_t *new_version;
+ apr_pool_t *result_pool;
} tc_editor_baton;
static svn_error_t *
@@ -183,7 +184,7 @@ tc_editor_alter_file(void *baton,
NULL, /* merge options */
NULL, /* prop_diff */
NULL, NULL, /* cancel_func + baton */
- scratch_pool, scratch_pool));
+ b->result_pool, scratch_pool));
if (merge_outcome == svn_wc_merge_conflict && conflict_skel)
{
@@ -204,7 +205,7 @@ tc_editor_alter_file(void *baton,
scratch_pool,
scratch_pool));
*b->work_items = svn_wc__wq_merge(*b->work_items, work_item,
- scratch_pool);
+ b->result_pool);
}
}
@@ -583,6 +584,7 @@ svn_wc__update_moved_away_conflict_victi
svn_wc__db_t *db,
svn_cancel_func_t cancel_func,
void *cancel_baton,
+ apr_pool_t *result_pool,
apr_pool_t *scratch_pool)
{
svn_editor_t *tc_editor;
@@ -613,6 +615,7 @@ svn_wc__update_moved_away_conflict_victi
db, scratch_pool, scratch_pool));
b->db = db;
b->work_items = work_items;
+ b->result_pool = result_pool;
/* Create the editor... */
SVN_ERR(svn_editor_create(&tc_editor, b, cancel_func, cancel_baton,