On Tue, Jul 9, 2013 at 12:39 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Eric Sunshine <sunshine@xxxxxxxxxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html