mirror of
https://git.proxmox.com/git/libgit2
synced 2025-08-07 07:52:30 +00:00
refs: don't loose info on resolve error
Typical use is git_reference_resolve(&ref, ref). Currently, if there is an error, ref will point to NULL, causing the user to lose that reference. Always update resolved_ref instead of just on finding an OID ref, storing the last valid reference in it. This change helps simplify the code for allowing root commits. Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
This commit is contained in:
parent
7c37aa3ac5
commit
68a146c1ae
@ -1480,8 +1480,9 @@ int git_reference_resolve(git_reference **resolved_ref, git_reference *ref)
|
|||||||
for (i = 0; i < MAX_NESTING_LEVEL; ++i) {
|
for (i = 0; i < MAX_NESTING_LEVEL; ++i) {
|
||||||
reference_symbolic *ref_sym;
|
reference_symbolic *ref_sym;
|
||||||
|
|
||||||
|
*resolved_ref = ref;
|
||||||
|
|
||||||
if (ref->type & GIT_REF_OID) {
|
if (ref->type & GIT_REF_OID) {
|
||||||
*resolved_ref = ref;
|
|
||||||
return GIT_SUCCESS;
|
return GIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user