sha1_file: add raw_object_store argument to alt_odb_usable
Add a raw_object_store to alt_odb_usable to be more specific about which repository to act on. The choice of the repository is delegated to its only caller link_alt_odb_entry. Signed-off-by: Stefan Beller <sbeller@google.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
9a00580d03
commit
13313fc333
|
@ -347,7 +347,9 @@ static const char *alt_sha1_path(struct alternate_object_database *alt,
|
||||||
/*
|
/*
|
||||||
* Return non-zero iff the path is usable as an alternate object database.
|
* Return non-zero iff the path is usable as an alternate object database.
|
||||||
*/
|
*/
|
||||||
static int alt_odb_usable(struct strbuf *path, const char *normalized_objdir)
|
static int alt_odb_usable(struct raw_object_store *o,
|
||||||
|
struct strbuf *path,
|
||||||
|
const char *normalized_objdir)
|
||||||
{
|
{
|
||||||
struct alternate_object_database *alt;
|
struct alternate_object_database *alt;
|
||||||
|
|
||||||
|
@ -363,7 +365,7 @@ static int alt_odb_usable(struct strbuf *path, const char *normalized_objdir)
|
||||||
* Prevent the common mistake of listing the same
|
* Prevent the common mistake of listing the same
|
||||||
* thing twice, or object directory itself.
|
* thing twice, or object directory itself.
|
||||||
*/
|
*/
|
||||||
for (alt = the_repository->objects->alt_odb_list; alt; alt = alt->next) {
|
for (alt = o->alt_odb_list; alt; alt = alt->next) {
|
||||||
if (!fspathcmp(path->buf, alt->path))
|
if (!fspathcmp(path->buf, alt->path))
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -415,7 +417,7 @@ static int link_alt_odb_entry(const char *entry, const char *relative_base,
|
||||||
while (pathbuf.len && pathbuf.buf[pathbuf.len - 1] == '/')
|
while (pathbuf.len && pathbuf.buf[pathbuf.len - 1] == '/')
|
||||||
strbuf_setlen(&pathbuf, pathbuf.len - 1);
|
strbuf_setlen(&pathbuf, pathbuf.len - 1);
|
||||||
|
|
||||||
if (!alt_odb_usable(&pathbuf, normalized_objdir)) {
|
if (!alt_odb_usable(the_repository->objects, &pathbuf, normalized_objdir)) {
|
||||||
strbuf_release(&pathbuf);
|
strbuf_release(&pathbuf);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue