On 5/7/2018 10:58 AM, Junio C Hamano wrote:
* 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-6b586eed1...@gmail.com/
* 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