Merge branch 'sb/object-store'
Refactoring the internal global data structure to make it possible to open multiple repositories, work with and then close them. Rerolled by Duy on top of a separate preliminary clean-up topic. The resulting structure of the topics looked very sensible. * sb/object-store: (27 commits) sha1_file: allow sha1_loose_object_info to handle arbitrary repositories sha1_file: allow map_sha1_file to handle arbitrary repositories sha1_file: allow map_sha1_file_1 to handle arbitrary repositories sha1_file: allow open_sha1_file to handle arbitrary repositories sha1_file: allow stat_sha1_file to handle arbitrary repositories sha1_file: allow sha1_file_name to handle arbitrary repositories sha1_file: add repository argument to sha1_loose_object_info sha1_file: add repository argument to map_sha1_file sha1_file: add repository argument to map_sha1_file_1 sha1_file: add repository argument to open_sha1_file sha1_file: add repository argument to stat_sha1_file sha1_file: add repository argument to sha1_file_name sha1_file: allow prepare_alt_odb to handle arbitrary repositories sha1_file: allow link_alt_odb_entries to handle arbitrary repositories sha1_file: add repository argument to prepare_alt_odb sha1_file: add repository argument to link_alt_odb_entries sha1_file: add repository argument to read_info_alternates sha1_file: add repository argument to link_alt_odb_entry sha1_file: add raw_object_store argument to alt_odb_usable pack: move approximate object count to object store ...
This commit is contained in:
11
sha1_name.c
11
sha1_name.c
@ -10,6 +10,8 @@
|
||||
#include "dir.h"
|
||||
#include "sha1-array.h"
|
||||
#include "packfile.h"
|
||||
#include "object-store.h"
|
||||
#include "repository.h"
|
||||
|
||||
static int get_oid_oneline(const char *, struct object_id *, struct commit_list *);
|
||||
|
||||
@ -104,7 +106,7 @@ static void find_short_object_filename(struct disambiguate_state *ds)
|
||||
*/
|
||||
fakeent = alloc_alt_odb(get_object_directory());
|
||||
}
|
||||
fakeent->next = alt_odb_list;
|
||||
fakeent->next = the_repository->objects->alt_odb_list;
|
||||
|
||||
for (alt = fakeent; alt && !ds->ambiguous; alt = alt->next) {
|
||||
int pos;
|
||||
@ -178,7 +180,8 @@ static void find_short_packed_object(struct disambiguate_state *ds)
|
||||
struct packed_git *p;
|
||||
|
||||
prepare_packed_git();
|
||||
for (p = packed_git; p && !ds->ambiguous; p = p->next)
|
||||
for (p = get_packed_git(the_repository); p && !ds->ambiguous;
|
||||
p = p->next)
|
||||
unique_in_pack(p, ds);
|
||||
}
|
||||
|
||||
@ -334,7 +337,7 @@ static int init_object_disambiguation(const char *name, int len,
|
||||
|
||||
ds->len = len;
|
||||
ds->hex_pfx[len] = '\0';
|
||||
prepare_alt_odb();
|
||||
prepare_alt_odb(the_repository);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -532,7 +535,7 @@ static void find_abbrev_len_packed(struct min_abbrev_data *mad)
|
||||
struct packed_git *p;
|
||||
|
||||
prepare_packed_git();
|
||||
for (p = packed_git; p; p = p->next)
|
||||
for (p = get_packed_git(the_repository); p; p = p->next)
|
||||
find_abbrev_len_for_pack(p, mad);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user