git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Thomas Rast <trast@student.ethz.ch>
Date
Jul 20, 2010, 07:51 UTC
Message-ID
<201007200951.56218.trast@student.ethz.ch>
In-Reply-To
<7veiezni4m.fsf@alter.siamese.dyndns.org>
Junio C Hamano wrote:
Show 19 quoted lines
> Thomas Rast <trast@student.ethz.ch> 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
Previous: Junio C HamanoNext: Junio C Hamano
Message 16 of 39 in “parse-options: stop when encounter a non-option”
  1. 01/13 parse-options: stop when encounter a non-optionBo Yang, Jul 11, 2010
  2. 02/13 parse-options: add two helper functionsBo Yang, Jul 11, 2010
  3. Junio C HamanoJul 12, 2010
  4. 03/13 add the basic data structure for line level historyBo Yang, Jul 11, 2010
  5. Bo YangJul 12, 2010
  6. Junio C HamanoJul 12, 2010
  7. Bo YangJul 18, 2010
  8. 04/13 refactor parse_locBo Yang, Jul 11, 2010
  9. Junio C HamanoJul 12, 2010
  10. 05/13 parse the -L optionsBo Yang, Jul 11, 2010
  11. Junio C HamanoJul 13, 2010
  12. Bo YangJul 18, 2010
  13. Junio C HamanoJul 19, 2010
  14. Thomas RastJul 19, 2010
  15. Junio C HamanoJul 19, 2010
  16. Thomas RastJul 20, 2010
  17. Junio C HamanoJul 20, 2010
  18. Thomas RastJul 22, 2010
  19. Junio C HamanoJul 23, 2010
  20. Bo YangJul 20, 2010
  21. Bo YangJul 20, 2010
  22. 06/13 export three functions from diff.cBo Yang, Jul 11, 2010
  23. 07/13 add range clone functionsBo Yang, Jul 11, 2010
  24. Junio C HamanoJul 12, 2010
  25. 08/13 map/take range to parentBo Yang, Jul 11, 2010
  26. Junio C HamanoJul 12, 2010
  27. 09/13 print the line logBo Yang, Jul 11, 2010
  28. Junio C HamanoJul 12, 2010
  29. 10/13 map/print ranges along traversing the history topologicallyBo Yang, Jul 11, 2010
  30. Junio C HamanoJul 12, 2010
  31. 11/13 add --always-print optionBo Yang, Jul 11, 2010
  32. Junio C HamanoJul 13, 2010
  33. 12/13 add two test casesBo Yang, Jul 11, 2010
  34. 13/13 some document updateBo Yang, Jul 11, 2010
  35. Jakub NarebskiJul 11, 2010
  36. Bo YangJul 12, 2010
  37. Junio C HamanoJul 12, 2010
  38. Bo YangJul 18, 2010
  39. Junio C HamanoJul 12, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.