[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Split up the reintegrate merge API: first find what to do, then do it - v2

From: DanielShahaf <danielsh_at_elego.de>
Date: Mon, 12 Dec 2011 07:55:39 +0200

Julian Foad wrote on Sun, Dec 11, 2011 at 20:53:26 +0000:
> Look at the following patch hunk, and ideally look also at the earlier
> hunk where we see these changes are inside the function that was
> called 'reintegrate_merge_locked' but is now a cut-down function
> called 'find_reintegrate_merge'.  So ...
>
> >> @@ -10628,31 +10631,76 @@ merge_reintegrate_locked(const char *sou
> >>  
> >>     /* Left side: trunk_at_youngest-trunk-rev-merged-to-branch-at-specified-peg-rev
> >>     * Right side: branch_at_specified-peg-revision */
> >> +  *source_p = apr_pmemdup(result_pool, &source, sizeof(source));
> >> +  return SVN_NO_ERROR;
> >> +}
> >>  
> >> -  /* Do the real merge! */
> >> -  /* ### TODO(reint): Make sure that one isn't the same line ancestor
> >> -    ### of the other (what's erroneously referred to as "ancestrally
> >> -    ### related" in this source file).  We can merge to trunk without
> >> -    ### implementing this. */
> >> -  err = merge_cousins_and_supplement_mergeinfo(target_abspath,
> >> -                                         target_ra_session,
> >> -                                         source_ra_session,
> >> -                                         &source, yc_ancestor_rev,
> >> -                                         TRUE /* same_repos */,
> >> -                                         svn_depth_infinity,
> >> -                                         FALSE /* ignore_ancestry */,
> >> -                                         FALSE /* force */,
> >> -                                         FALSE /* record_only */,
> >> -                                         dry_run,
> >
> > Could you clarify why this is removed?  I don't see it added elsewhere
> > in the patch.  Is it a functional change?  Or do the diff hunks form an
> > optical illusion here?
>
> Instead of performing the merge, the (renamed) function now only finds
> the URLs and returns them.  Then, later on (in
> merge_reintegrate_locked), instead of calling this 'merge_cousins'
> function directly, we instead call 'merge_locked' (which is the guts
> of svn_client_merge4()) which calls 'merge_cousins'.
>

OK. I can't find reintegrate_merge_locked(), but overall it sounds like
an intentional side-effect of gutting the actual merge out of
svn_client_find_reintegrate_merge(). Thanks for the explanation.
Received on 2011-12-12 06:56:25 CET

This is an archived mail posted to the Subversion Dev mailing list.