summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornulltoken <emeric.fermas@gmail.com>2012-06-28 18:04:01 +0200
committernulltoken <emeric.fermas@gmail.com>2012-06-28 19:12:42 +0200
commit0e7af9e758f5fcb3ddc8a1130181ddf3ef9c6b20 (patch)
treeaec46c46b7ecc40b527757a0dc6716ecae02d9bc
parent0d23c62c480d155b8ba446ca2ec536758a567bcc (diff)
downloadlibgit2-0e7af9e758f5fcb3ddc8a1130181ddf3ef9c6b20.tar.gz
revparse: unfound nth parent returns ENOTFOUND
-rw-r--r--src/revparse.c2
-rw-r--r--tests-clar/refs/revparse.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/revparse.c b/src/revparse.c
index dd3886e2d..5050bdf1b 100644
--- a/src/revparse.c
+++ b/src/revparse.c
@@ -485,7 +485,7 @@ static int handle_caret_syntax(git_object **out, git_repository *repo, git_objec
}
if (git_commit_parent(&commit, commit, n-1) < 0) {
- return GIT_ERROR;
+ return GIT_ENOTFOUND;
}
*out = (git_object*)commit;
diff --git a/tests-clar/refs/revparse.c b/tests-clar/refs/revparse.c
index e2e82cf82..c71e6d844 100644
--- a/tests-clar/refs/revparse.c
+++ b/tests-clar/refs/revparse.c
@@ -85,6 +85,8 @@ void test_refs_revparse__nth_parent(void)
test_object("be3563a^1^1", "4a202b346bb0fb0db7eff3cffeb3c70babbd2045");
test_object("be3563a^2^1", "5b5b025afb0b4c913b4c338a42934a3863bf3644");
test_object("be3563a^0", "be3563ae3f795b2b4353bcce3a527ad0a4f7f644");
+
+ cl_assert_equal_i(GIT_ENOTFOUND, git_revparse_single(&g_obj, g_repo, "be3563a^42"));
}
void test_refs_revparse__not_tag(void)