On 3/24/2022 6:06 PM, Taylor Blau wrote: > 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