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 <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
f37b9bc00c
commit
d88f9fdf8b
@ -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
|
||||
*
|
||||
|
Reference in New Issue
Block a user