Commit a6b508080cf73df7139c951feebb2281b9027752

Carlos Martín Nieto 2013-10-30T17:24:36

refs: adjust to the new reflog API

diff --git a/src/refs.c b/src/refs.c
index eff6b33..d3d072c 100644
--- a/src/refs.c
+++ b/src/refs.c
@@ -328,27 +328,15 @@ static int feed_reflog(
 	const char *log_message)
 {
 
-	git_reflog *reflog = NULL;
 	git_oid peeled_ref_oid;
 	int error;
 
-	if ((error = git_reflog_read(&reflog, ref)) < 0)
-		goto cleanup;
-
 	if ((error = git_reference_name_to_id(&peeled_ref_oid,
 		git_reference_owner(ref), git_reference_name(ref))) < 0)
-			goto cleanup;
-
-	if ((error = git_reflog_append(reflog, &peeled_ref_oid, 
-		signature, log_message)) < 0)
-			goto cleanup;
-
-	error = git_reflog_write(reflog);
-
-cleanup:
-	git_reflog_free(reflog);
+		return error;
 
-	return 0;
+	return git_reflog_append_to(git_reference_owner(ref), git_reference_name(ref),
+				    &peeled_ref_oid, signature, log_message);
 }
 
 static int reference__create(
diff --git a/tests/refs/createwithlog.c b/tests/refs/createwithlog.c
index 34ab806..ff36ffd 100644
--- a/tests/refs/createwithlog.c
+++ b/tests/refs/createwithlog.c
@@ -38,7 +38,7 @@ void test_refs_createwithlog__creating_a_direct_reference_adds_a_reflog_entry(vo
 	cl_git_pass(
 		git_reference_create_with_log(&reference, g_repo, name, &id, 0, signature, message));
 
-	cl_git_pass(git_reflog_read(&reflog, reference));
+	cl_git_pass(git_reflog_read(&reflog, g_repo, name));
 	cl_assert_equal_sz(1, git_reflog_entrycount(reflog));
 
 	entry = git_reflog_entry_byindex(reflog, 0);
@@ -69,7 +69,7 @@ void test_refs_createwithlog__creating_a_symbolic_reference_adds_a_reflog_entry(
 	cl_git_pass(git_reference_symbolic_create_with_log(&reference, g_repo,
 		name, current_head_target, 0, signature, message));
 
-	cl_git_pass(git_reflog_read(&reflog, reference));
+	cl_git_pass(git_reflog_read(&reflog, g_repo, name));
 	cl_assert_equal_sz(1, git_reflog_entrycount(reflog));
 
 	entry = git_reflog_entry_byindex(reflog, 0);
diff --git a/tests/refs/settargetwithlog.c b/tests/refs/settargetwithlog.c
index e1f73db..99377da 100644
--- a/tests/refs/settargetwithlog.c
+++ b/tests/refs/settargetwithlog.c
@@ -41,7 +41,7 @@ void test_refs_settargetwithlog__updating_a_direct_reference_adds_a_reflog_entry
 	cl_git_pass(git_reference_set_target_with_log(
 		&reference_out, reference, &target_id, signature, message));
 
-	cl_git_pass(git_reflog_read(&reflog, reference_out));
+	cl_git_pass(git_reflog_read(&reflog, g_repo, br2_name));
 
 	entry = git_reflog_entry_byindex(reflog, 0);
 	cl_assert(git_oid_cmp(&current_id, &entry->oid_old) == 0);
@@ -80,7 +80,7 @@ void test_refs_settargetwithlog__updating_a_symbolic_reference_adds_a_reflog_ent
 	cl_assert_equal_s(
 		br2_name, git_reference_symbolic_target(reference_out));
 
-	cl_git_pass(git_reflog_read(&reflog, reference));
+	cl_git_pass(git_reflog_read(&reflog, g_repo, name));
 
 	entry = git_reflog_entry_byindex(reflog, 0);
 	cl_assert(git_oid_streq(&entry->oid_old, master_tip) == 0);