summaryrefslogtreecommitdiff
path: root/tests-clar/refs/create.c
diff options
context:
space:
mode:
authorCarlos Martín Nieto <carlos@cmartin.tk>2012-09-30 11:37:53 +0200
committerCarlos Martín Nieto <carlos@cmartin.tk>2012-09-30 11:56:37 +0200
commitc128149315c67d52c4503e294bfbd2653e0a8307 (patch)
tree44b028d5a701d965d156ea3b08bbf33e561d276d /tests-clar/refs/create.c
parent3665ba8eeb4f8b2546517cd208e940b128dd8a46 (diff)
downloadlibgit2-c128149315c67d52c4503e294bfbd2653e0a8307.tar.gz
refs: propagate EEXISTS
Indicate whether the error comes from the ref already existing or elsewhere. We always perform the check and this lets the user write more concise code.
Diffstat (limited to 'tests-clar/refs/create.c')
-rw-r--r--tests-clar/refs/create.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests-clar/refs/create.c b/tests-clar/refs/create.c
index af5b203a3..bf234bc60 100644
--- a/tests-clar/refs/create.c
+++ b/tests-clar/refs/create.c
@@ -147,3 +147,18 @@ void test_refs_create__oid_unknown(void)
/* Ensure the reference can't be looked-up... */
cl_git_fail(git_reference_lookup(&looked_up_ref, g_repo, new_head));
}
+
+void test_refs_create__propagate_eexists(void)
+{
+ int error;
+ git_oid oid;
+ git_reference *ref;
+
+ /* Make sure it works for oid and for symbolic both */
+ git_oid_fromstr(&oid, current_master_tip);
+ error = git_reference_create_oid(&ref, g_repo, current_head_target, &oid, false);
+ cl_assert(error == GIT_EEXISTS);
+
+ error = git_reference_create_symbolic(&ref, g_repo, "HEAD", current_head_target, false);
+ cl_assert(error == GIT_EEXISTS);
+}