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

Re: is commitGraph useful on the server side?

From
Derrick Stolee <stolee@gmail.com>
Date
Oct 22, 2019, 19:44 UTC
Message-ID
<e0e294a7-bd3c-2174-a922-c5893b0945c2@gmail.com>
In-Reply-To
<20191022165112.GA4960@chatter.i7.local>
On 10/22/2019 12:51 PM, Konstantin Ryabitsev wrote:
Show 5 quoted lines
> Hi, all:
> 
> I've read the docs on commitGraph and it's not 100% clear to me if turning it on and generating commit graphs would be useful on the server-side. I know it's going to be enabled by default and automatically generated whenever "git gc" runs, so I'm trying to figure out if it'll be useful for git-daemon operations.
> 
> Thanks in advance for your help.
I've CC'd Taylor Blau for more information here.

I'm biased, but I think the commit-graph is generally really good to have in almost all cases. I actually do not know of a good reason to _not_ have it.

If you are managing reachability bitmaps, then most of the server-side stuff will use the bitmaps instead. However, creating those bitmaps will be slightly faster with the commit-graph.

If you don't use bitmaps, then the commit-graph will help fetch negotiation and many other commit-walk experiences.

If you have a lot of machinery around your server maintenance, then you can schedule commit-graph updates more frequently than bitmap computations, and you would get benefit by parsing commits faster in the zone "above" the bitmaps.

Thanks, -Stolee

Previous: Konstantin RyabitsevNext: Jeff King
Message 2 of 5 in “is commitGraph useful on the server side?”
  1. Konstantin RyabitsevOct 22, 2019
  2. Derrick StoleeOct 22, 2019
  3. Jeff KingOct 22, 2019
  4. Konstantin RyabitsevOct 22, 2019
  5. Jeff KingOct 22, 2019

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.