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

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

From
Derrick Stolee <stolee@gmail.com>
Date
Apr 9, 2018, 13:37 UTC
Message-ID
<98394864-ece6-5112-0274-b2399087f207@gmail.com>
In-Reply-To
<xmqqd0z865pk.fsf@gitster-ct.c.googlers.com>
On 4/9/2018 6:21 AM, Junio C Hamano wrote:
Show 24 quoted lines
> * ds/commit-graph (2018-04-02) 16 commits
>   - commit-graph: implement "--additive" 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/lazy-load-trees.)
>
>   Precompute and store information necessary for ancestry traversal
>   in a separate file to optimize graph walking.
>
>   Ready???
>   It seems that this topic is getting there.

I think this patch is ready to go, barring the edit of "--additive" to "--append" in the final commit message and squashing following diff into "commit-graph: implement git commit-graph read":

@@ -31,7 +31,7 @@ static struct opts_commit_graph {

  static int graph_read(int argc, const char **argv)
  {
-       struct commit_graph *graph = 0;
+       struct commit_graph *graph = NULL;
         char *graph_name;

         static struct option builtin_commit_graph_read_options[] = {

If you prefer that I re-roll with those changes, I can send a v8.

I'm currently working on new series based on this feature:

* [1] Lazy-load trees when reading commit-graph (ds/lazy-load-trees)

* [2] Compute and consume generation numbers

* Move commit-graph.c globals to the_repository

* Implement 'fsck' functionality for the commit-graph file

* Integrate 'commit-graph write' into 'gc --auto'

I would also like to open the feature to other contributors, especially 
for others who can contribute performance improvements using generation 
numbers. We had a very valuable discussion on the list [2], and I look 
forward to more collaborations like that.

Thanks,
-Stolee

[1] 
https://public-inbox.org/git/20180403120057.173849-1-dstolee@microsoft.com/T/#u

[2] 
https://public-inbox.org/git/20180403165143.80661-1-dstolee@microsoft.com/T/#u
Previous: Junio C HamanoNext: Ramsay Jones
Message 2 of 23 in “What's cooking in git.git (Apr 2018, #01; Mon, 9)”
  1. Junio C HamanoApr 9, 2018
  2. Derrick StoleeApr 9, 2018
  3. Ramsay JonesApr 9, 2018
  4. Junio C HamanoApr 9, 2018
  5. Derrick StoleeApr 10, 2018
  6. Stefan BellerApr 10, 2018
  7. Ramsay JonesApr 10, 2018
  8. Derrick StoleeApr 10, 2018
  9. Ramsay JonesApr 10, 2018
  10. Ramsay JonesApr 10, 2018
  11. Junio C HamanoApr 10, 2018
  12. Duy NguyenApr 9, 2018
  13. Stefan BellerApr 9, 2018
  14. Johannes SchindelinApr 9, 2018
  15. Johannes SchindelinApr 9, 2018
  16. Johannes SchindelinApr 10, 2018
  17. git-gui branches, was Re: What's cooking in git.git (Apr 2018, #01; Mon, 9)Johannes Schindelin, Apr 10, 2018
  18. Junio C HamanoApr 10, 2018
  19. Stefan BellerApr 10, 2018
  20. Johannes SchindelinApr 10, 2018
  21. Phillip WoodApr 11, 2018
  22. Jakub NarebskiApr 11, 2018
  23. Ævar Arnfjörð BjarmasonApr 11, 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.