Stefan Beller <sbel...@google.com> writes: > Signed-off-by: Stefan Beller <sbel...@google.com> > --- > object-store.h | 8 ++++++++ > replace-object.c | 17 +++++++---------- > replace-object.h | 9 +++++++++ > 3 files changed, 24 insertions(+), 10 deletions(-) > create mode 100644 replace-object.h
With this, the relationship between an object X and another object Y that replaces the object X is defined only within the scope of a single repository. The exception in reachability rule around these replacement objects is also local to a repository (i.e. if traversal from refs reaches X, then both X and Y are reachable and need to be kept from gc), so I think this is a reasonable way to arrange things.