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

Re: [PATCH v7 0/5] git log -L, all new and shiny

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 19, 2012, 10:33 UTC
Message-ID
<7vpq8v1tht.fsf@alter.siamese.dyndns.org>
In-Reply-To
<87wr33wqzl.fsf@thomas.inf.ethz.ch>
Thomas Rast <trast@inf.ethz.ch> writes:
Show 13 quoted lines
>> Then the revision machinery looks at B.  It does the same between B
>> and A, but this time around, the diff machinery finds that, even
>> though A and B were _not_ TREESAME at the revision traversal level,
>> there is nothing to be shown after filtering with the -w option.
>> Hence no patch is shown and log message for B is not shown, either.
>
> Thanks for the great explanations.
>
> Having spent some time letting this sink in (and being busy doing other
> things), I think it's actually a good idea.  It forces us to go back and
> change it around so that the diff machinery gets a say _before_ we
> simplify history.  I think this bit will be important for log -L history
> to make sense, and it's a bug waiting to happen for the -w case.
Note that this is not limited to "diff_patch() already filters -w".

If you are running with --diff-filter=A to grab only the additions, for example, you may want the merge simplification to know about this filtering as well.

So it is likely that you would want to hook diffcore_std(), not just diff_flush(), to the TREESAME machinery. Obviously you would want to do this only for the merge commits; there is no point doing this for single strand of pearls where the output phase already knows how to squelch output correctly.

Previous: Thomas Rast
Message 18 of 18 in “git log -L, all new and shiny”
  1. 0/5 git log -L, all new and shinyThomas Rast, Jun 7, 2012
  2. 1/5 Refactor parse_locThomas Rast, Jun 7, 2012
  3. 2/5 blame: introduce $ as "end of file" in -L syntaxThomas Rast, Jun 7, 2012
  4. Junio C HamanoJun 7, 2012
  5. Thomas RastJun 7, 2012
  6. 3/5 Export three functions from diff.cThomas Rast, Jun 7, 2012
  7. Junio C HamanoJun 7, 2012
  8. 4/5 Export rewrite_parents() for 'log -L'Thomas Rast, Jun 7, 2012
  9. 5/5 Implement line-history search (git log -L)Thomas Rast, Jun 7, 2012
  10. Junio C HamanoJun 7, 2012
  11. Thomas RastJun 7, 2012
  12. Zbigniew Jędrzejewski-SzmekJun 10, 2012
  13. Junio C HamanoJun 15, 2012
  14. Thomas RastJun 15, 2012
  15. Junio C HamanoJun 15, 2012
  16. Junio C HamanoJun 16, 2012
  17. Thomas RastJun 19, 2012
  18. Junio C HamanoJun 19, 2012

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.