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/06/25 22:50:18 UTC
svn commit: r1353738 - /subversion/trunk/subversion/libsvn_client/switch.c
Author: stsp
Date: Mon Jun 25 20:50:17 2012
New Revision: 1353738
URL: http://svn.apache.org/viewvc?rev=1353738&view=rev
Log:
* subversion/libsvn_client/switch.c
(switch_internal): Stop fiddling with the caller-provided client context.
We were setting the conflict callback fields to NULL in case conflicts
should be resolved post-switch. We aren't supposed to change the context
on behalf of the caller. And there really is no need to do so since we can
pass NULL conflict callbacks to svn_wc__get_switch_editor() instead.
Suggested by: gstein
Modified:
subversion/trunk/subversion/libsvn_client/switch.c
Modified: subversion/trunk/subversion/libsvn_client/switch.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/switch.c?rev=1353738&r1=1353737&r2=1353738&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/switch.c (original)
+++ subversion/trunk/subversion/libsvn_client/switch.c Mon Jun 25 20:50:17 2012
@@ -94,8 +94,6 @@ switch_internal(svn_revnum_t *result_rev
: NULL;
/* Resolve conflicts post-switch for 1.7 and above API users. */
svn_boolean_t resolve_conflicts_post_switch = (ctx->conflict_func2 != NULL);
- svn_wc_conflict_resolver_func2_t conflict_func2;
- void *conflict_baton2;
/* An unknown depth can't be sticky. */
if (depth == svn_depth_unknown)
@@ -222,17 +220,6 @@ switch_internal(svn_revnum_t *result_rev
svn_dirent_dirname(local_abspath, pool));
}
- if (resolve_conflicts_post_switch)
- {
- /* Remove the conflict resolution callback from the client context.
- * We invoke it after of the switch instead of during the switch. */
- conflict_func2 = ctx->conflict_func2;
- conflict_baton2 = ctx->conflict_baton2;
- ctx->conflict_func2 = NULL;
- ctx->conflict_baton2 = NULL;
- }
-
-
SVN_ERR(svn_ra_reparent(ra_session, anchor_url, pool));
/* Fetch the switch (update) editor. If REVISION is invalid, that's
@@ -252,7 +239,10 @@ switch_internal(svn_revnum_t *result_rev
server_supports_depth,
diff3_cmd, preserved_exts,
svn_client__dirent_fetcher, &dfb,
- ctx->conflict_func2, ctx->conflict_baton2,
+ resolve_conflicts_post_switch ?
+ NULL : ctx->conflict_func2,
+ resolve_conflicts_post_switch ?
+ NULL : ctx->conflict_baton2,
NULL, NULL,
ctx->cancel_func, ctx->cancel_baton,
ctx->notify_func2, ctx->notify_baton2,
@@ -347,7 +337,8 @@ switch_internal(svn_revnum_t *result_rev
"" /* resolve_prop (ALL props) */,
TRUE /* resolve_tree */,
svn_wc_conflict_choose_unspecified,
- conflict_func2, conflict_baton2,
+ ctx->conflict_func2,
+ ctx->conflict_baton2,
ctx->cancel_func, ctx->cancel_baton,
ctx->notify_func2, ctx->notify_baton2,
pool));
Re: svn commit: r1353738 -
/subversion/trunk/subversion/libsvn_client/switch.c
Posted by Stefan Sperling <st...@elego.de>.
On Mon, Jun 25, 2012 at 07:54:39PM -0400, Greg Stein wrote:
> On Mon, Jun 25, 2012 at 4:50 PM, <st...@apache.org> wrote:
> >...
> > +++ subversion/trunk/subversion/libsvn_client/switch.c Mon Jun 25 20:50:17 2012
> > @@ -94,8 +94,6 @@ switch_internal(svn_revnum_t *result_rev
> > : NULL;
> > /* Resolve conflicts post-switch for 1.7 and above API users. */
> > svn_boolean_t resolve_conflicts_post_switch = (ctx->conflict_func2 != NULL);
>
> Note the above line...
>
> >...
> > @@ -252,7 +239,10 @@ switch_internal(svn_revnum_t *result_rev
> > server_supports_depth,
> > diff3_cmd, preserved_exts,
> > svn_client__dirent_fetcher, &dfb,
> > - ctx->conflict_func2, ctx->conflict_baton2,
> > + resolve_conflicts_post_switch ?
> > + NULL : ctx->conflict_func2,
> > + resolve_conflicts_post_switch ?
> > + NULL : ctx->conflict_baton2,
>
> You may as well just pass NULL unconditionally. If
> resolve_conflicts_post_switch is FALSE, the the func is NULL.
>
> >...
>
> Cheers,
> -g
Right. I did so for update but forgot about it while modifying switch.
Re: svn commit: r1353738 - /subversion/trunk/subversion/libsvn_client/switch.c
Posted by Greg Stein <gs...@gmail.com>.
On Mon, Jun 25, 2012 at 4:50 PM, <st...@apache.org> wrote:
>...
> +++ subversion/trunk/subversion/libsvn_client/switch.c Mon Jun 25 20:50:17 2012
> @@ -94,8 +94,6 @@ switch_internal(svn_revnum_t *result_rev
> : NULL;
> /* Resolve conflicts post-switch for 1.7 and above API users. */
> svn_boolean_t resolve_conflicts_post_switch = (ctx->conflict_func2 != NULL);
Note the above line...
>...
> @@ -252,7 +239,10 @@ switch_internal(svn_revnum_t *result_rev
> server_supports_depth,
> diff3_cmd, preserved_exts,
> svn_client__dirent_fetcher, &dfb,
> - ctx->conflict_func2, ctx->conflict_baton2,
> + resolve_conflicts_post_switch ?
> + NULL : ctx->conflict_func2,
> + resolve_conflicts_post_switch ?
> + NULL : ctx->conflict_baton2,
You may as well just pass NULL unconditionally. If
resolve_conflicts_post_switch is FALSE, the the func is NULL.
>...
Cheers,
-g