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@youngest-trunk-rev-merged-to-branch-at-specified-peg-rev
> >>      * Right side: branch@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.

Reply via email to