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/05/10 18:56:21 UTC
svn commit: r1336794 - in /subversion/trunk/subversion/svn: cl.h
conflict-callbacks.c
Author: stsp
Date: Thu May 10 16:56:21 2012
New Revision: 1336794
URL: http://svn.apache.org/viewvc?rev=1336794&view=rev
Log:
Follow-up to r1336780: Fix svn_cl__conflict_handler() to use the dual-pool
paradigm as required for svn_wc_conflict_resolver_func2_t() implementations.
* subversion/svn/cl.h,
* subversion/svn/conflict-callbacks.c
(svn_cl__conflict_handler): Use dual-pool paradigm.
Modified:
subversion/trunk/subversion/svn/cl.h
subversion/trunk/subversion/svn/conflict-callbacks.c
Modified: subversion/trunk/subversion/svn/cl.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/cl.h?rev=1336794&r1=1336793&r2=1336794&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/cl.h (original)
+++ subversion/trunk/subversion/svn/cl.h Thu May 10 16:56:21 2012
@@ -353,7 +353,8 @@ svn_error_t *
svn_cl__conflict_handler(svn_wc_conflict_result_t **result,
const svn_wc_conflict_description2_t *desc,
void *baton,
- apr_pool_t *pool);
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool);
Modified: subversion/trunk/subversion/svn/conflict-callbacks.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/conflict-callbacks.c?rev=1336794&r1=1336793&r2=1336794&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/conflict-callbacks.c (original)
+++ subversion/trunk/subversion/svn/conflict-callbacks.c Thu May 10 16:56:21 2012
@@ -263,7 +263,8 @@ svn_error_t *
svn_cl__conflict_handler(svn_wc_conflict_result_t **result,
const svn_wc_conflict_description2_t *desc,
void *baton,
- apr_pool_t *pool)
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool)
{
svn_cl__conflict_baton_t *b = baton;
svn_error_t *err;
@@ -271,7 +272,7 @@ svn_cl__conflict_handler(svn_wc_conflict
/* Start out assuming we're going to postpone the conflict. */
*result = svn_wc_create_conflict_result(svn_wc_conflict_choose_postpone,
- NULL, pool);
+ NULL, result_pool);
switch (b->accept_which)
{
@@ -310,10 +311,11 @@ svn_cl__conflict_handler(svn_wc_conflict
}
err = svn_cl__edit_file_externally(desc->merged_file,
- b->editor_cmd, b->config, pool);
+ b->editor_cmd, b->config,
+ scratch_pool);
if (err && (err->apr_err == SVN_ERR_CL_NO_EXTERNAL_EDITOR))
{
- SVN_ERR(svn_cmdline_fprintf(stderr, pool, "%s\n",
+ SVN_ERR(svn_cmdline_fprintf(stderr, scratch_pool, "%s\n",
err->message ? err->message :
_("No editor found;"
" leaving all conflicts.")));
@@ -322,7 +324,7 @@ svn_cl__conflict_handler(svn_wc_conflict
}
else if (err && (err->apr_err == SVN_ERR_EXTERNAL_PROGRAM))
{
- SVN_ERR(svn_cmdline_fprintf(stderr, pool, "%s\n",
+ SVN_ERR(svn_cmdline_fprintf(stderr, scratch_pool, "%s\n",
err->message ? err->message :
_("Error running editor;"
" leaving all conflicts.")));
@@ -355,10 +357,10 @@ svn_cl__conflict_handler(svn_wc_conflict
desc->local_abspath,
b->config,
&remains_in_conflict,
- pool);
+ scratch_pool);
if (err && err->apr_err == SVN_ERR_CL_NO_EXTERNAL_MERGE_TOOL)
{
- SVN_ERR(svn_cmdline_fprintf(stderr, pool, "%s\n",
+ SVN_ERR(svn_cmdline_fprintf(stderr, scratch_pool, "%s\n",
err->message ? err->message :
_("No merge tool found;"
" leaving all conflicts.")));
@@ -367,7 +369,7 @@ svn_cl__conflict_handler(svn_wc_conflict
}
else if (err && err->apr_err == SVN_ERR_EXTERNAL_PROGRAM)
{
- SVN_ERR(svn_cmdline_fprintf(stderr, pool, "%s\n",
+ SVN_ERR(svn_cmdline_fprintf(stderr, scratch_pool, "%s\n",
err->message ? err->message :
_("Error running merge tool;"
" leaving all conflicts.")));
@@ -389,7 +391,7 @@ svn_cl__conflict_handler(svn_wc_conflict
/* We're in interactive mode and either the user gave no --accept
option or the option did not apply; let's prompt. */
- subpool = svn_pool_create(pool);
+ subpool = svn_pool_create(scratch_pool);
/* Handle the most common cases, which is either: