From d88f9fdf8b2ccf65993bb977094ab9b2249635ee Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Wed, 11 Apr 2018 17:21:05 -0700 Subject: replace-object: move replace_map to object store 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). Signed-off-by: Stefan Beller Signed-off-by: Junio C Hamano --- object-store.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'object-store.h') diff --git a/object-store.h b/object-store.h index fef33f345f..c04b4c95eb 100644 --- a/object-store.h +++ b/object-store.h @@ -1,6 +1,8 @@ #ifndef OBJECT_STORE_H #define OBJECT_STORE_H +#include "oidmap.h" + struct alternate_object_database { struct alternate_object_database *next; @@ -93,6 +95,12 @@ struct raw_object_store { struct alternate_object_database *alt_odb_list; struct alternate_object_database **alt_odb_tail; + /* + * Objects that should be substituted by other objects + * (see git-replace(1)). + */ + struct oidmap replace_map; + /* * private data * -- cgit v1.3-5-g9baa