refs: adjust to the new reflog API

This commit is contained in:
Carlos Martín Nieto 2013-10-30 17:24:36 +01:00
parent ca84e05850
commit a6b508080c
3 changed files with 7 additions and 19 deletions

View File

@ -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;
return error;
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 0;
return git_reflog_append_to(git_reference_owner(ref), git_reference_name(ref),
&peeled_ref_oid, signature, log_message);
}
static int reference__create(

View File

@ -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);

View File

@ -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);