Re: [PATCH/RFC] blame: accept multiple -L ranges
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jul 9, 2013, 18:55 UTC
- Message-ID
- <7vy59fv9zr.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <CAPig+cT9U7L-03Fe5YLft=WS2EZY1B_BhLzkM_sT_3wQQ1g1MQ@mail.gmail.com>
Eric Sunshine <sunshine@sunshineco.com> writes:
Show 20 quoted lines
> On Tue, Jul 9, 2013 at 1:42 PM, Thomas Rast <trast@inf.ethz.ch> wrote: >> Junio C Hamano <gitster@pobox.com> writes: >> >>> (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). >> >> So passing several -L arguments does not blame the union of what each >> argument would blame individually? Doesn't that make it rather harder >> to explain? > > I don't think Junio meant to imply that. Collecting the blame ranges > can/should be a distinct step from coalescing them. Junio is saying > that an -L /re/ range search should start after the maximum line > number already specified by any preceding range.
I am not sure if I want "maximum specified so far". I meant "start searching at the last location", e.g.
-L 100,200 -L 4,6 -L /A/,+20
would want to find the first A after line 6, not after line 200.
> Once all input ranges > are collected, they can be coalesced. (If a -L /re/ range happens to > be coalesced with or into some other range, that's fine: you're still > seeing blame output for the requested lines.)
Yes.