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

Re: What's cooking in git.git (May 2018, #01; Mon, 7)

From
Derrick Stolee <stolee@gmail.com>
Date
May 7, 2018, 15:20 UTC
Message-ID
<1bb666a1-ce44-3eb0-e63c-a6a9e2a675dd@gmail.com>
In-Reply-To
<xmqqa7tbpl5q.fsf@gitster-ct.c.googlers.com>
On 5/7/2018 10:58 AM, Junio C Hamano wrote:
Show 19 quoted lines
> * ds/generation-numbers (2018-05-02) 11 commits
>   - commit-graph.txt: update design document
>   - merge: check config before loading commits
>   - commit: use generation number in remove_redundant()
>   - commit: add short-circuit to paint_down_to_common()
>   - commit: use generation numbers for in_merge_bases()
>   - ref-filter: use generation number for --contains
>   - commit-graph: always load commit-graph information
>   - commit: use generations in paint_down_to_common()
>   - commit-graph: compute generation numbers
>   - commit: add generation number to struct commmit
>   - ref-filter: fix outdated comment on in_commit_list
>   (this branch uses ds/commit-graph and ds/lazy-load-trees.)
>
>   A recently added "commit-graph" datafile has learned to store
>   pre-computed generation numbers to speed up the decisions to stop
>   history traversal.
>
>   Is this ready for 'next'?

I see that you squashed the fix from [1], so I think this is ready to go. Thanks!

[1] https://public-inbox.org/git/1cfe38f6-925b-d36b-53ae-6b586eed199c@gmail.com/

Show 43 quoted lines
> * ds/lazy-load-trees (2018-05-02) 6 commits
>    (merged to 'next' on 2018-05-02 at d54016d9e3)
>   + coccinelle: avoid wrong transformation suggestions from commit.cocci
>    (merged to 'next' on 2018-04-25 at b90813f421)
>   + commit-graph: lazy-load trees for commits
>   + treewide: replace maybe_tree with accessor methods
>   + commit: create get_commit_tree() method
>   + treewide: rename tree to maybe_tree
>   + Merge branch 'bw/c-plus-plus' into ds/lazy-load-trees
>   (this branch is used by ds/generation-numbers; uses ds/commit-graph.)
>
>   The code has been taught to use the duplicated information stored
>   in the commit-graph file to learn the tree object name for a commit
>   to avoid opening and parsing the commit object when it makes sense
>   to do so.
>
>   Will merge to 'master'.
>
>
> * ds/commit-graph (2018-04-11) 16 commits
>    (merged to 'next' on 2018-04-25 at 18af3d28d9)
>   + commit-graph: implement "--append" option
>   + commit-graph: build graph from starting commits
>   + commit-graph: read only from specific pack-indexes
>   + commit: integrate commit graph with commit parsing
>   + commit-graph: close under reachability
>   + commit-graph: add core.commitGraph setting
>   + commit-graph: implement git commit-graph read
>   + commit-graph: implement git-commit-graph write
>   + commit-graph: implement write_commit_graph()
>   + commit-graph: create git-commit-graph builtin
>   + graph: add commit graph design document
>   + commit-graph: add format document
>   + csum-file: refactor finalize_hashfile() method
>   + csum-file: rename hashclose() to finalize_hashfile()
>   + Merge branch 'jk/cached-commit-buffer' into HEAD
>   + Merge branch 'jt/binsearch-with-fanout' into HEAD
>   (this branch is used by ds/generation-numbers and ds/lazy-load-trees.)
>
>   Precompute and store information necessary for ancestry traversal
>   in a separate file to optimize graph walking.
>
>   Will merge to 'master'.

These have been queued for master for a few weeks. Is anything delaying them? I'd love to see the community dogfood this feature by running the following on their local repos:

     git config core.commitGraph true
     git show-ref -s | git commit-graph write --stdin-commits

Thanks, -Stolee

Previous: Junio C HamanoNext: Elijah Newren
Message 2 of 8 in “What's cooking in git.git (May 2018, #01; Mon, 7)”
  1. Junio C HamanoMay 7, 2018
  2. Derrick StoleeMay 7, 2018
  3. Elijah NewrenMay 7, 2018
  4. Junio C HamanoMay 8, 2018
  5. Elijah NewrenMay 7, 2018
  6. Junio C HamanoMay 8, 2018
  7. Ben PeartMay 8, 2018
  8. Junio C HamanoMay 10, 2018

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.