On Tue, Jul 9, 2013 at 12:39 PM, Junio C Hamano <gits...@pobox.com> wrote:
> Eric Sunshine <sunsh...@sunshineco.com> writes:
>> As implemented by this patch, the behavior of git-blame with multiple
>> -L's is consistent with that of git-log with multiple -L's. The
>> implemented behavior feels intuitive to me, but I can see how the
>> behavior you suggest could feel intuitive to others.
>> If I re-do the patch to work the way you describe above, how should we
>> deal with the inconsistent behaviors between the two commands?
> The suggestion to error out was more about "start simple, strict and
> obvious to make it easy to explain" and nothing else.  If we start
> with a simple and strict version, we can later loosen it without
> making an input that was valid earlier invalid.  If we start with
> too loose, on the other hand, it would be hard to tighten it later.

Makes sense.

> But the only two things I care deeply about are, in a file whose
> contents is:
>         C
>         B
>         A
>         B
>         C
>         D
>  (1) The range "-L /A/,/B/" finds the first A from the beginning,
>      and then chooses B that comes _after_ it, making it equivalent
>      to -L3,4 (not -L3,2 or -L2,3).
>  (2) In the ranges "-L <anything>,/B/ -L /C/,<anything>", the
>      beginning of the second range is found by choosing C that comes
>      _after_ the end of the previous range (/B/ may choose either
>      the second or the 4th line, and the only C that comes after
>      either of them is the 5th line and that is where the second
>      range should begin, not at the beginning of the file).  The
>      same for "-L 1,3 -L /C/" (only C that comes after 3 is eligible
>      to be the beginning of the second range).

Thinking aloud: Thus, for "-L 1,5 -L /C/", no C would be found.

> I view it as a nice addition to coalesce two overlapping ranges
> given exactly by numbers, e.g. "-L 100,200 -L 50,102".  I do not
> have a strong objection to it, as long as it does not interfere
> negatively with ranges specified by patterns.

Okay, I will base my rewrite upon the above constraints, along with
other observations from your initial response.

-- ES
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to