summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornulltoken <emeric.fermas@gmail.com>2012-06-29 17:06:38 +0200
committernulltoken <emeric.fermas@gmail.com>2012-06-29 17:23:18 +0200
commit52b938d55a0619abb3b8f8b7b450a140f560a6d4 (patch)
treef987fa5bb683abfbe87c6105ada52c1a3b057631
parent08ac23a5fd3f237f3e028dbdfc4e49133bb53a2e (diff)
downloadlibgit2-52b938d55a0619abb3b8f8b7b450a140f560a6d4.tar.gz
revparse: unfound reflog entry returns ENOTFOUND
-rw-r--r--src/revparse.c2
-rw-r--r--tests-clar/refs/revparse.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/revparse.c b/src/revparse.c
index dab74d66a..774beef63 100644
--- a/src/revparse.c
+++ b/src/revparse.c
@@ -245,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);
diff --git a/tests-clar/refs/revparse.c b/tests-clar/refs/revparse.c
index 68479962d..d28dfa5fd 100644
--- a/tests-clar/refs/revparse.c
+++ b/tests-clar/refs/revparse.c
@@ -129,6 +129,7 @@ void test_refs_revparse__reflog(void)
cl_git_fail(git_revparse_single(&g_obj, g_repo, "@{1000}"));
cl_assert_equal_i(GIT_ENOTFOUND, git_revparse_single(&g_obj, g_repo, "nope@{0}"));
+ cl_assert_equal_i(GIT_ENOTFOUND, git_revparse_single(&g_obj, g_repo, "master@{31415}"));
test_object("@{-2}", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
test_object("@{-1}", "a4a7dce85cf63874e984719f4fdd239f5145052f");