summaryrefslogtreecommitdiff
path: root/sha1_name.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2018-04-11 04:09:55 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-04-11 04:09:55 (GMT)
commitcf0b1793ead9428d88e6592e624c7cb222913c58 (patch)
tree13906a437b3a68fdaf9cfa4617280dae44aa41db /sha1_name.c
parent5ff42d42da9c2c26737988d19b347c99489c8faa (diff)
parent4a7c05f7d7f17cd7a42fa944e79c2ef294cb17b6 (diff)
downloadgit-cf0b1793ead9428d88e6592e624c7cb222913c58.zip
git-cf0b1793ead9428d88e6592e624c7cb222913c58.tar.gz
git-cf0b1793ead9428d88e6592e624c7cb222913c58.tar.bz2
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 ...
Diffstat (limited to 'sha1_name.c')
-rw-r--r--sha1_name.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sha1_name.c b/sha1_name.c
index 0185c60..509a95f 100644
--- a/sha1_name.c
+++ b/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);
}