Subject: Re: [PATCH 1/1] commit-graph.c: avoid unnecessary tag dereference when merging

From: Taylor Blau <[email-masked]>
Date: Fri, 27 Mar 2020 09:03:58 -0600

On Fri, Mar 27, 2020 at 04:42:48AM -0400, Jeff King wrote:
> On Tue, Mar 24, 2020 at 05:08:26PM -0600, Taylor Blau wrote:
> > I can plan to deploy this patch to GitHub's servers for a ~month and
> > see if we experience it.
>
> ...I don't think we'll actually generate good data here. We're probably
> going to end up doing our "big maintenance" commit-graph roll-ups by
> just feeding --reachable as input, and dropping all of the existing
> graphs.

For what it's worth (and I'm not sure that it's worth much), but this
is only true in the last day or so. Before, we were running:

  $ git commit-graph write --split=merge-all --input=none

which *did* exercise this code quite frequently (and thus would have
been helped by this patch). But now, we are running something like:

  $ git commit-graph write --split=replace --input=reachable

...where '--split=replace' means "write a split commit-graph, but drop
all existing layers before writing it". This case is obviously not
helped by this patch, although I think the patch is worthwhile for
callers who do the first thing.

I'll post patches about that shortly after they've been a little more
well-vetted (we're only generating split commit-graphs on a percentage
of repositories for now).

> -Peff

Thanks,
Taylor