sha1_file: add repository argument to read_info_alternates
See previous patch for explanation. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
cfc62fc98c
commit
ca5e6d2640
11
sha1_file.c
11
sha1_file.c
|
@ -390,7 +390,9 @@ static int alt_odb_usable(struct raw_object_store *o,
|
||||||
* SHA1, an extra slash for the first level indirection, and the
|
* SHA1, an extra slash for the first level indirection, and the
|
||||||
* terminating NUL.
|
* terminating NUL.
|
||||||
*/
|
*/
|
||||||
static void read_info_alternates(const char * relative_base, int depth);
|
#define read_info_alternates(r, rb, d) read_info_alternates_##r(rb, d)
|
||||||
|
static void read_info_alternates_the_repository(const char *relative_base,
|
||||||
|
int depth);
|
||||||
#define link_alt_odb_entry(r, e, rb, d, n) link_alt_odb_entry_##r(e, rb, d, n)
|
#define link_alt_odb_entry(r, e, rb, d, n) link_alt_odb_entry_##r(e, rb, d, n)
|
||||||
static int link_alt_odb_entry_the_repository(const char *entry,
|
static int link_alt_odb_entry_the_repository(const char *entry,
|
||||||
const char *relative_base, int depth, const char *normalized_objdir)
|
const char *relative_base, int depth, const char *normalized_objdir)
|
||||||
|
@ -431,7 +433,7 @@ static int link_alt_odb_entry_the_repository(const char *entry,
|
||||||
ent->next = NULL;
|
ent->next = NULL;
|
||||||
|
|
||||||
/* recursively add alternates */
|
/* recursively add alternates */
|
||||||
read_info_alternates(pathbuf.buf, depth + 1);
|
read_info_alternates(the_repository, pathbuf.buf, depth + 1);
|
||||||
|
|
||||||
strbuf_release(&pathbuf);
|
strbuf_release(&pathbuf);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -497,7 +499,8 @@ static void link_alt_odb_entries(const char *alt, int sep,
|
||||||
strbuf_release(&objdirbuf);
|
strbuf_release(&objdirbuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void read_info_alternates(const char * relative_base, int depth)
|
static void read_info_alternates_the_repository(const char *relative_base,
|
||||||
|
int depth)
|
||||||
{
|
{
|
||||||
char *path;
|
char *path;
|
||||||
struct strbuf buf = STRBUF_INIT;
|
struct strbuf buf = STRBUF_INIT;
|
||||||
|
@ -678,7 +681,7 @@ void prepare_alt_odb(void)
|
||||||
link_alt_odb_entries(the_repository->objects->alternate_db,
|
link_alt_odb_entries(the_repository->objects->alternate_db,
|
||||||
PATH_SEP, NULL, 0);
|
PATH_SEP, NULL, 0);
|
||||||
|
|
||||||
read_info_alternates(get_object_directory(), 0);
|
read_info_alternates(the_repository, get_object_directory(), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Returns 1 if we have successfully freshened the file, 0 otherwise. */
|
/* Returns 1 if we have successfully freshened the file, 0 otherwise. */
|
||||||
|
|
Loading…
Reference in New Issue