diff options
author | Edward Thomson <ethomson@edwardthomson.com> | 2021-06-20 11:02:59 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-20 11:02:59 -0500 |
commit | 47c3db97d1124cd5edc8500ef263138740b7e9ff (patch) | |
tree | 2c409125ab5088c5e391391dc1cf8bae6387e41a | |
parent | 0d0150d8eb5fe5654af4172fe2f923f5d1317eb7 (diff) | |
download | libgit2-ethomson/remote_error.tar.gz |
remote: handle error caseethomson/remote_error
If `git_reference_resolve` fails with an actual error (not `GIT_ENOTFOUND`) it should not be ignored.
-rw-r--r-- | src/remote.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/remote.c b/src/remote.c index 5f6ba5bf7..9e480db61 100644 --- a/src/remote.c +++ b/src/remote.c @@ -1137,8 +1137,10 @@ static int remote_head_for_ref(git_remote_head **out, git_remote *remote, git_re if (error == GIT_ENOTFOUND && git_reference_type(ref) == GIT_REFERENCE_SYMBOLIC) { ref_name = git_reference_symbolic_target(ref); error = 0; - } else { + } else if (!error) { ref_name = git_reference_name(resolved_ref); + } else { + goto cleanup; } /* |