From: Junio C Hamano Date: Tue, 09 Jul 2013 18:55:36 GMT Subject: Re: [PATCH/RFC] blame: accept multiple -L ranges Message-ID: <7vy59fv9zr.fsf@alter.siamese.dyndns.org> In-Reply-To: Eric Sunshine writes: > On Tue, Jul 9, 2013 at 1:42 PM, Thomas Rast wrote: >> Junio C Hamano writes: >> >>> (2) In the ranges "-L ,/B/ -L /C/,", 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.