summaryrefslogtreecommitdiff
path: root/src/revparse.c
diff options
context:
space:
mode:
authorVicent Martí <vicent@github.com>2012-06-29 12:16:52 -0700
committerVicent Martí <vicent@github.com>2012-06-29 12:16:52 -0700
commite560aa8ffa7cf143fbd34a5aec44741ae4c77271 (patch)
treef987fa5bb683abfbe87c6105ada52c1a3b057631 /src/revparse.c
parentcbc02c1021ab99903d9e0a616137048d33df5f26 (diff)
parent52b938d55a0619abb3b8f8b7b450a140f560a6d4 (diff)
downloadlibgit2-e560aa8ffa7cf143fbd34a5aec44741ae4c77271.tar.gz
Merge pull request #795 from nulltoken/topic/revparse-notfound
More git_revparse_single ENOTFOUND use cases
Diffstat (limited to 'src/revparse.c')
-rw-r--r--src/revparse.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/revparse.c b/src/revparse.c
index 5050bdf1b..774beef63 100644
--- a/src/revparse.c
+++ b/src/revparse.c
@@ -29,9 +29,10 @@ static void set_invalid_syntax_err(const char *spec)
static int revparse_lookup_fully_qualifed_ref(git_object **out, git_repository *repo, const char*spec)
{
git_oid resolved;
+ int error;
- if (git_reference_name_to_oid(&resolved, repo, spec) < 0)
- return GIT_ERROR;
+ if ((error = git_reference_name_to_oid(&resolved, repo, spec)) < 0)
+ return error;
return git_object_lookup(out, repo, &resolved, GIT_OBJ_ANY);
}
@@ -107,7 +108,7 @@ static int revparse_lookup_object(git_object **out, git_repository *repo, const
git_buf_free(&refnamebuf);
giterr_set(GITERR_REFERENCE, "Refspec '%s' not found.", spec);
- return GIT_ERROR;
+ return GIT_ENOTFOUND;
}
@@ -244,7 +245,7 @@ static int walk_ref_history(git_object **out, git_repository *repo, const char *
if (numentries < n) {
giterr_set(GITERR_REFERENCE, "Reflog for '%s' has only %d entries, asked for %d",
git_buf_cstr(&buf), numentries, n);
- retcode = GIT_ERROR;
+ retcode = GIT_ENOTFOUND;
} else {
const git_reflog_entry *entry = git_reflog_entry_byindex(reflog, n);
const git_oid *oid = git_reflog_entry_oidold(entry);