From: Stefan Beller <sbeller@xxxxxxxxxx> The object store field will contain any objects needed for access to objects in a given repository. This patch introduces the object store but for now it is empty. C99 forbids empty structs, but common C compilers cope well with them and this struct will gain members very soon (starting with the next patch). Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> Signed-off-by: Jonathan Nieder <jrnieder@xxxxxxxxx> --- Are there any straightforward ways to avoid the empty struct? Should the struct have a placeholder member to avoid language issues with an object that would have size 0? object-store.h | 8 ++++++++ repository.c | 4 +++- repository.h | 7 +++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 object-store.h diff --git a/object-store.h b/object-store.h new file mode 100644 index 0000000000..05722cdde0 --- /dev/null +++ b/object-store.h @@ -0,0 +1,8 @@ +#ifndef OBJECT_STORE_H +#define OBJECT_STORE_H + +struct object_store { +}; +#define OBJECT_STORE_INIT {} + +#endif /* OBJECT_STORE_H */ diff --git a/repository.c b/repository.c index f107af7d76..566753ed4b 100644 --- a/repository.c +++ b/repository.c @@ -1,11 +1,13 @@ #include "cache.h" #include "repository.h" +#include "object-store.h" #include "config.h" #include "submodule-config.h" /* The main repository */ static struct repository the_repo = { - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &the_index, 0, 0 + NULL, NULL, NULL, OBJECT_STORE_INIT, + NULL, NULL, NULL, NULL, NULL, NULL, &the_index, 0, 0 }; struct repository *the_repository = &the_repo; diff --git a/repository.h b/repository.h index 7f5e24a0a2..9633ad10f5 100644 --- a/repository.h +++ b/repository.h @@ -1,6 +1,8 @@ #ifndef REPOSITORY_H #define REPOSITORY_H +#include "object-store.h" + struct config_set; struct index_state; struct submodule_cache; @@ -25,6 +27,11 @@ struct repository { */ char *objectdir; + /* + * Holds any information related to the object store. + */ + struct object_store objects; + /* * Path to the repository's graft file. * Cannot be NULL after initialization. -- 2.14.1.581.gf28d330327