mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
object-store: rename raw_object_store to object_database
The `raw_object_store` structure is the central entry point for reading and writing objects in a repository. The main purpose of this structure is to manage object directories and provide an interface to access and write objects in those object directories. Right now, many of the functions associated with the raw object store implicitly rely on `the_repository` to get access to its `objects` pointer, which is the `raw_object_store`. As we want to generally get rid of using `the_repository` across our codebase we will have to convert this implicit dependency on this global variable into an explicit parameter. This conversion can be done by simply passing in an explicit pointer to a repository and then using its `->objects` pointer. But there is a second effort underway, which is to make the object subsystem more selfcontained so that we can eventually have pluggable object backends. As such, passing in a repository wouldn't make a ton of sense, and the goal is to convert the object store interfaces such that we always pass in a reference to the `raw_object_store` instead. This will expose the `raw_object_store` type to a lot more callers though, which surfaces that this type is named somewhat awkwardly. The "raw_" prefix makes readers wonder whether there is a non-raw variant of the object store, but there isn't. Furthermore, we nowadays want to name functions in a way that they can be clearly attributed to a specific subsystem, but calling them e.g. `raw_object_store_has_object()` is just too unwieldy, even when dropping the "raw_" prefix. Instead, rename the structure to `object_database`. This term is already used a lot throughout our codebase, and it cannot easily be mistaken for "object directories", either. Furthermore, its acronym ODB is already well-known and works well as part of a function's name, like for example `odb_has_object()`. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
7014b55638
commit
1ace066449
@@ -829,7 +829,7 @@ struct bloom_filter_settings *get_bloom_filter_settings(struct repository *r)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void close_commit_graph(struct raw_object_store *o)
|
||||
void close_commit_graph(struct object_database *o)
|
||||
{
|
||||
if (!o->commit_graph)
|
||||
return;
|
||||
|
||||
@@ -26,7 +26,7 @@ void git_test_write_commit_graph_or_die(void);
|
||||
struct commit;
|
||||
struct bloom_filter_settings;
|
||||
struct repository;
|
||||
struct raw_object_store;
|
||||
struct object_database;
|
||||
struct string_list;
|
||||
|
||||
char *get_commit_graph_filename(struct object_directory *odb);
|
||||
@@ -186,7 +186,7 @@ int write_commit_graph(struct object_directory *odb,
|
||||
|
||||
int verify_commit_graph(struct repository *r, struct commit_graph *g, int flags);
|
||||
|
||||
void close_commit_graph(struct raw_object_store *);
|
||||
void close_commit_graph(struct object_database *);
|
||||
void free_commit_graph(struct commit_graph *);
|
||||
|
||||
/*
|
||||
|
||||
@@ -44,7 +44,7 @@ struct cached_object_entry {
|
||||
} value;
|
||||
};
|
||||
|
||||
static const struct cached_object *find_cached_object(struct raw_object_store *object_store,
|
||||
static const struct cached_object *find_cached_object(struct object_database *object_store,
|
||||
const struct object_id *oid)
|
||||
{
|
||||
static const struct cached_object empty_tree = {
|
||||
@@ -86,7 +86,7 @@ int odb_mkstemp(struct strbuf *temp_filename, const char *pattern)
|
||||
/*
|
||||
* Return non-zero iff the path is usable as an alternate object database.
|
||||
*/
|
||||
static int alt_odb_usable(struct raw_object_store *o,
|
||||
static int alt_odb_usable(struct object_database *o,
|
||||
struct strbuf *path,
|
||||
const char *normalized_objdir, khiter_t *pos)
|
||||
{
|
||||
@@ -950,9 +950,9 @@ void assert_oid_type(const struct object_id *oid, enum object_type expect)
|
||||
type_name(expect));
|
||||
}
|
||||
|
||||
struct raw_object_store *raw_object_store_new(void)
|
||||
struct object_database *odb_new(void)
|
||||
{
|
||||
struct raw_object_store *o = xmalloc(sizeof(*o));
|
||||
struct object_database *o = xmalloc(sizeof(*o));
|
||||
|
||||
memset(o, 0, sizeof(*o));
|
||||
INIT_LIST_HEAD(&o->packed_git_mru);
|
||||
@@ -961,7 +961,7 @@ struct raw_object_store *raw_object_store_new(void)
|
||||
return o;
|
||||
}
|
||||
|
||||
static void free_object_directories(struct raw_object_store *o)
|
||||
static void free_object_directories(struct object_database *o)
|
||||
{
|
||||
while (o->odb) {
|
||||
struct object_directory *next;
|
||||
@@ -974,7 +974,7 @@ static void free_object_directories(struct raw_object_store *o)
|
||||
o->odb_by_path = NULL;
|
||||
}
|
||||
|
||||
void raw_object_store_clear(struct raw_object_store *o)
|
||||
void odb_clear(struct object_database *o)
|
||||
{
|
||||
FREE_AND_NULL(o->alternate_db);
|
||||
|
||||
|
||||
@@ -87,7 +87,12 @@ struct packed_git;
|
||||
struct multi_pack_index;
|
||||
struct cached_object_entry;
|
||||
|
||||
struct raw_object_store {
|
||||
/*
|
||||
* The object database encapsulates access to objects in a repository. It
|
||||
* manages one or more backends that store the actual objects which are
|
||||
* configured via alternates.
|
||||
*/
|
||||
struct object_database {
|
||||
/*
|
||||
* Set of all object directories; the main directory is first (and
|
||||
* cannot be NULL after initialization). Subsequent directories are
|
||||
@@ -169,8 +174,8 @@ struct raw_object_store {
|
||||
unsigned packed_git_initialized : 1;
|
||||
};
|
||||
|
||||
struct raw_object_store *raw_object_store_new(void);
|
||||
void raw_object_store_clear(struct raw_object_store *o);
|
||||
struct object_database *odb_new(void);
|
||||
void odb_clear(struct object_database *o);
|
||||
|
||||
/*
|
||||
* Create a temporary file rooted in the object database directory, or
|
||||
|
||||
@@ -359,7 +359,7 @@ void close_pack(struct packed_git *p)
|
||||
oidset_clear(&p->bad_objects);
|
||||
}
|
||||
|
||||
void close_object_store(struct raw_object_store *o)
|
||||
void close_object_store(struct object_database *o)
|
||||
{
|
||||
struct packed_git *p;
|
||||
|
||||
|
||||
@@ -183,12 +183,12 @@ int close_pack_fd(struct packed_git *p);
|
||||
|
||||
uint32_t get_pack_fanout(struct packed_git *p, uint32_t value);
|
||||
|
||||
struct raw_object_store;
|
||||
struct object_database;
|
||||
|
||||
unsigned char *use_pack(struct packed_git *, struct pack_window **, off_t, unsigned long *);
|
||||
void close_pack_windows(struct packed_git *);
|
||||
void close_pack(struct packed_git *);
|
||||
void close_object_store(struct raw_object_store *o);
|
||||
void close_object_store(struct object_database *o);
|
||||
void unuse_pack(struct pack_window **);
|
||||
void clear_delta_base_cache(void);
|
||||
struct packed_git *add_packed_git(struct repository *r, const char *path,
|
||||
|
||||
@@ -52,7 +52,7 @@ static void set_default_hash_algo(struct repository *repo)
|
||||
|
||||
void initialize_repository(struct repository *repo)
|
||||
{
|
||||
repo->objects = raw_object_store_new();
|
||||
repo->objects = odb_new();
|
||||
repo->remote_state = remote_state_new();
|
||||
repo->parsed_objects = parsed_object_pool_new(repo);
|
||||
ALLOC_ARRAY(repo->index, 1);
|
||||
@@ -374,7 +374,7 @@ void repo_clear(struct repository *repo)
|
||||
FREE_AND_NULL(repo->worktree);
|
||||
FREE_AND_NULL(repo->submodule_prefix);
|
||||
|
||||
raw_object_store_clear(repo->objects);
|
||||
odb_clear(repo->objects);
|
||||
FREE_AND_NULL(repo->objects);
|
||||
|
||||
parsed_object_pool_clear(repo->parsed_objects);
|
||||
|
||||
@@ -9,7 +9,7 @@ struct git_hash_algo;
|
||||
struct index_state;
|
||||
struct lock_file;
|
||||
struct pathspec;
|
||||
struct raw_object_store;
|
||||
struct object_database;
|
||||
struct submodule_cache;
|
||||
struct promisor_remote_config;
|
||||
struct remote_state;
|
||||
@@ -47,7 +47,7 @@ struct repository {
|
||||
/*
|
||||
* Holds any information related to accessing the raw object content.
|
||||
*/
|
||||
struct raw_object_store *objects;
|
||||
struct object_database *objects;
|
||||
|
||||
/*
|
||||
* All objects in this repository that have been parsed. This structure
|
||||
|
||||
Reference in New Issue
Block a user