Re: [PATCH] commit-reach: do not parse and iterate minima
- From
Derrick Stolee <derrickstolee@github.com>
- Date
- Mar 25, 2022, 14:32 UTC
- Message-ID
- <88e4259e-8e1d-14bb-407f-3177b883388e@github.com>
- In-Reply-To
- <YjzrZNQZ7cBIr+Kx@nand.local>
On 3/24/2022 6:06 PM, Taylor Blau wrote:
Show 16 quoted lines
> This made me think of some of the difficulties we encountered back in > ce16364e89 (commit.c: don't persist substituted parents when > unshallowing, 2020-07-08), particularly: > > One way to fix this would be to reset the parsed object pool entirely > (flushing the cache and thus preventing subsequent reads from modifying > their parents) after unshallowing. That would produce a problem when > callers have a now-stale reference to the old pool, and so this patch > implements a different approach. > > if I can recall back to when that patch was written, I think the issue > was that dumping the entire set of parsed objects caused us to have > stale references in the commit-graph machinery. > > I'm not sure whether or not the same difficulties would be encountered > here, though. The shallow stuff is so tricky to me...
The commit-graph is disabled in the presence of grafts, so this _should_ be fine. I guess there are some issues if you are transitioning not having grafts to having grafts (or vice-versa) so that might be worth investigating.
Thanks, -Stolee