mirror of
https://git.proxmox.com/git/libgit2
synced 2026-01-06 04:46:34 +00:00
Local Only ignore ENOTFOUNDs when adding corrupted refs
This commit is contained in:
parent
850b1edfe8
commit
b524fe1a3c
@ -177,7 +177,7 @@ static int loose_parse_oid(git_oid *oid, git_buf *file_content)
|
||||
|
||||
corrupted:
|
||||
giterr_set(GITERR_REFERENCE, "Corrupted loose reference file");
|
||||
return -1;
|
||||
return GIT_ENOTFOUND;
|
||||
}
|
||||
|
||||
static git_ref_t loose_guess_rtype(const git_buf *full_path)
|
||||
|
||||
@ -42,6 +42,7 @@ static int add_ref(transport_local *t, const char *name)
|
||||
git_remote_head *head;
|
||||
git_object *obj = NULL, *target = NULL;
|
||||
git_buf buf = GIT_BUF_INIT;
|
||||
int error;
|
||||
|
||||
head = git__calloc(1, sizeof(git_remote_head));
|
||||
GITERR_CHECK_ALLOC(head);
|
||||
@ -49,12 +50,17 @@ static int add_ref(transport_local *t, const char *name)
|
||||
head->name = git__strdup(name);
|
||||
GITERR_CHECK_ALLOC(head->name);
|
||||
|
||||
if (git_reference_name_to_id(&head->oid, t->repo, name) < 0) {
|
||||
/* This is actually okay. Empty repos often have a HEAD that points to
|
||||
* a nonexistant "refs/haeds/master". */
|
||||
error = git_reference_name_to_id(&head->oid, t->repo, name);
|
||||
if (error < 0) {
|
||||
git__free(head->name);
|
||||
git__free(head);
|
||||
return 0;
|
||||
if (error == GIT_ENOTFOUND) {
|
||||
/* This is actually okay. Empty repos often have a HEAD that points to
|
||||
* a nonexistant "refs/haeds/master". */
|
||||
giterr_clear();
|
||||
return 0;
|
||||
}
|
||||
return error;
|
||||
}
|
||||
|
||||
if (git_vector_insert(&t->refs, head) < 0)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user