On Wed, Sep 10, 2008 at 7:18 PM, Danil Shopyrin <danil_at_visualsvn.com> wrote:
>> The patch looks correct, but I think it's more complicated than it
>> needs to be. I'd rather not put the extra checks in a different
>> function, and I don't think you need to extend
>> svn_client__get_wc_mergeinfo().
>
>> In propagate_mergeinfo_within_wc(), we need to do the following:
>
> Looks like that the proposed patch does exactly the same things. But
> with a little bit more sophisticated logic. For example, copy between
> different working copies is also handled.
Sure. My point was that if check_mergeinfo_affecting() returns FALSE,
then we later redo some of the work that it does (like getting
mergeinfo for the source). I'd like to see the
avoid-setting-empty-mergeinfo logic merged into
propagate_mergeinfo_within_wc(), not kept separately.
>
>> 1. Get the mergeinfo for the source. If it's explicit, not inherited,
>> we're done, there's nothing to propagate, because the destination
>> already has the same explicit mergeinfo as the source, as a result of
>> the copy. Currently, propagate_mergeinfo_within_wc() calls
>> calculate_target_mergeinfo(), we can replace this with a call to
>> svn_client__get_wc_mergeinfo().
>
> We don't need this step. This check is performed 'automatically'.
> Source and destination receive mergeinfo from different urls if the
> source have explicit mergeinfo.
You read both the source and the target's mergeinfo unconditionally.
If the source has explicit mergeinfo, you don't have to read the
destination's mergeinfo.
>
>> 2. Figure out which path the destination inherits mergeinfo from, if any.
>
> The proposed patch relies on urls, not on paths. There are some
> problems with absolute and relative paths etc. And I don't want to
> duplicate svn_client__get_wc_mergeinfo()'s sophisticated working copy
> climbing logic. That's why svn_client__get_wc_mergeinfo() is tweaked.
I agree that using URL's is better than paths. I hadn't thought of
inter-WC copies and other weird situations when I wrote that. So +1
on extending svn_client__get_wc_mergeinfo().
--
Vlad
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-09-10 18:36:06 CEST