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

Re: [RFC PATCH 4/5] line-log: more responsive, incremental 'git log -L'

From
SZEDER Gábor <szeder.dev@gmail.com>
Date
Aug 19, 2019, 12:34 UTC
Message-ID
<20190819123431.GT20404@szeder.dev>
In-Reply-To
<20190818182801.7580-5-szeder.dev@gmail.com>
On Sun, Aug 18, 2019 at 08:28:00PM +0200, SZEDER Gábor wrote:
Show 18 quoted lines
> The current line-level log implementation performs a preprocessing
> step in prepare_revision_walk(), during which the line_log_filter()
> function filters and rewrites history to keep only commits modifying
> the given line range.  This preprocessing affects both responsiveness
> and correctness:
> 
>   - Git doesn't produce any output during this preprocessing step.
>     Checking whether a commit modified the given line range is
>     somewhat expensive, so depending on the size of the given revision
>     range this preprocessing can result in a significant delay before
>     the first commit is shown.
> 
>   - Limiting the number of displayed commits (e.g. 'git log -3 -L...')
>     doesn't limit the amount of work during preprocessing, because
>     that limit is applied during history traversal.  Alas, by that
>     point this expensive preprocessing step has already churned
>     through the whole revision range to find all commits modifying the
>     revision range, even though only a few of them need to be shown.
s/revision range/line range/
Previous: SZEDER GáborNext: Derrick Stolee
Message 7 of 17 in “line-log: towards a more responsive, incremental 'git log -L'”
  1. 0/5 line-log: towards a more responsive, incremental 'git log -L'SZEDER Gábor, Aug 18, 2019
  2. 1/5 completion: offer '--(no-)patch' among 'git log' optionsSZEDER Gábor, Aug 18, 2019
  3. 2/5 line-log: remove unused fields from 'struct line_log_data'SZEDER Gábor, Aug 18, 2019
  4. Derrick StoleeAug 19, 2019
  5. 3/5 t4211-line-log: add tests for parent oidsSZEDER Gábor, Aug 18, 2019
  6. 4/5 line-log: more responsive, incremental 'git log -L'SZEDER Gábor, Aug 18, 2019
  7. SZEDER GáborAug 19, 2019
  8. Derrick StoleeAug 19, 2019
  9. 5/5 line-log: try to use generation number-based topo-orderingSZEDER Gábor, Aug 18, 2019
  10. Derrick StoleeAug 19, 2019
  11. SZEDER GáborAug 19, 2019
  12. Derrick StoleeAug 19, 2019
  13. SZEDER GáborAug 19, 2019
  14. Derrick StoleeAug 19, 2019
  15. SZEDER GáborAug 21, 2019
  16. Derrick StoleeApr 9, 2020
  17. SZEDER GáborApr 24, 2020

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.