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