Subject: Re: [PATCH v3 05/13] parse the -L options

From: Thomas Rast <[email-masked]>
Date: Tue, 20 Jul 2010 09:51:55 +0200

Junio C Hamano wrote:
> Thomas Rast <[email-masked]> writes:
> > I think that would just needlessly break the analogy to git-blame.[0]
> > With the current code,
> >
> >   git blame -L 2,3 <path>
> >   git log -L 2,3 <path>
> >
> > work the same.
> 
> I like the general direction, but I am not sure how far we want to take
> that analogue with blame, though.
> 
> For example, Bo's "log -L" thing also works on more than one path, no?  I
> suspect it might be be reasonable to teach "blame" to annotate more than
> one path (with ranges) the same way.  There is no technical limitation in
> the underlying scoreboard mechanism to prevent it from happening.
> 
> Very similar to "blame" but quite differently from any normal "log"
> operation, "log -L" allows only one positive commit (starting point).

AFAICT this is not a conceptual requirement, only one of the current
implementation/option parsing.  [Bo, how hard would it be to remove
this requirement?]

'git log --follow', if it were ever unbroken, would have much the same
problem that while technically allowing more than one starting point,
using that is only possible if the starting filename happens to agree
on all of them.

> Perhaps these argue that this new feature shouldn't be a new option of
> "log" at the UI level after all; rather, I wonder if this should be better
> presented as a new mode of "blame" (e.g. "blame --log", unlike showing
> "cvs annotate" like output, shows history like "git log" does).

Then you suddenly have a mode of git-blame that takes the normal
options, and another that takes all the git-log arguments that pertain
to commit formatting.

(Ok, you can't reasonably give it any of the diff-formatting options,
but e.g. --graph and --pretty are supposed to work.)

What's more, we (well, I do anyway) absolutely want gitk to display
the same output eventually.  So that would also suddenly give you an
example where gitk isn't so equivalent to git-log-in-a-fancy-window
any more.

-- 
Thomas Rast
trast@{inf,student}.ethz.ch