diff options
author | Edward Thomson <ethomson@microsoft.com> | 2014-03-30 19:56:18 -0700 |
---|---|---|
committer | Edward Thomson <ethomson@edwardthomson.com> | 2014-03-31 11:43:38 -0500 |
commit | 976634c4672f3e1144b8f11c6c984157a28f5d98 (patch) | |
tree | 7ef3b50b69f97777aad55c3f5f1569e1ce58fe7e /tests | |
parent | 7b445c2195f1fff455d13218851fc683f5dd4058 (diff) | |
download | libgit2-976634c4672f3e1144b8f11c6c984157a28f5d98.tar.gz |
Introduce git_merge_head_id
Diffstat (limited to 'tests')
-rw-r--r-- | tests/merge/workdir/setup.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/merge/workdir/setup.c b/tests/merge/workdir/setup.c index 49b38b246..a0028ec6d 100644 --- a/tests/merge/workdir/setup.c +++ b/tests/merge/workdir/setup.c @@ -881,6 +881,33 @@ void test_merge_workdir_setup__two_remotes(void) git_merge_head_free(their_heads[3]); } +void test_merge_workdir_setup__id_from_head(void) +{ + git_oid expected_id; + const git_oid *id; + git_reference *ref; + git_merge_head *heads[3]; + + cl_git_pass(git_oid_fromstr(&expected_id, OCTO1_OID)); + cl_git_pass(git_merge_head_from_fetchhead(&heads[0], repo, GIT_REFS_HEADS_DIR OCTO1_BRANCH, "http://remote.url/repo.git", &expected_id)); + id = git_merge_head_id(heads[0]); + cl_assert_equal_i(1, git_oid_equal(id, &expected_id)); + + cl_git_pass(git_merge_head_from_id(&heads[1], repo, &expected_id)); + id = git_merge_head_id(heads[1]); + cl_assert_equal_i(1, git_oid_equal(id, &expected_id)); + + cl_git_pass(git_reference_lookup(&ref, repo, GIT_REFS_HEADS_DIR OCTO1_BRANCH)); + cl_git_pass(git_merge_head_from_ref(&heads[2], repo, ref)); + id = git_merge_head_id(heads[2]); + cl_assert_equal_i(1, git_oid_equal(id, &expected_id)); + + git_reference_free(ref); + git_merge_head_free(heads[0]); + git_merge_head_free(heads[1]); + git_merge_head_free(heads[2]); +} + struct merge_head_cb_data { const char **oid_str; unsigned int len; |