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