diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/resources/redundant.git/HEAD | 1 | ||||
-rwxr-xr-x | tests/resources/redundant.git/config | 5 | ||||
-rw-r--r-- | tests/resources/redundant.git/objects/info/packs | 2 | ||||
-rw-r--r-- | tests/resources/redundant.git/objects/pack/pack-3d944c0c5bcb6b16209af847052c6ff1a521529d.idx | bin | 0 -> 121136 bytes | |||
-rw-r--r-- | tests/resources/redundant.git/objects/pack/pack-3d944c0c5bcb6b16209af847052c6ff1a521529d.pack | bin | 0 -> 309860 bytes | |||
-rw-r--r-- | tests/resources/redundant.git/packed-refs | 3 | ||||
-rw-r--r-- | tests/resources/redundant.git/refs/.gitkeep | 0 | ||||
-rw-r--r-- | tests/revwalk/mergebase.c | 19 |
8 files changed, 30 insertions, 0 deletions
diff --git a/tests/resources/redundant.git/HEAD b/tests/resources/redundant.git/HEAD new file mode 100644 index 000000000..cb089cd89 --- /dev/null +++ b/tests/resources/redundant.git/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/tests/resources/redundant.git/config b/tests/resources/redundant.git/config new file mode 100755 index 000000000..2f8958058 --- /dev/null +++ b/tests/resources/redundant.git/config @@ -0,0 +1,5 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true + logallrefupdates = true diff --git a/tests/resources/redundant.git/objects/info/packs b/tests/resources/redundant.git/objects/info/packs new file mode 100644 index 000000000..fbf960f10 --- /dev/null +++ b/tests/resources/redundant.git/objects/info/packs @@ -0,0 +1,2 @@ +P pack-3d944c0c5bcb6b16209af847052c6ff1a521529d.pack + diff --git a/tests/resources/redundant.git/objects/pack/pack-3d944c0c5bcb6b16209af847052c6ff1a521529d.idx b/tests/resources/redundant.git/objects/pack/pack-3d944c0c5bcb6b16209af847052c6ff1a521529d.idx Binary files differnew file mode 100644 index 000000000..d8e099a98 --- /dev/null +++ b/tests/resources/redundant.git/objects/pack/pack-3d944c0c5bcb6b16209af847052c6ff1a521529d.idx diff --git a/tests/resources/redundant.git/objects/pack/pack-3d944c0c5bcb6b16209af847052c6ff1a521529d.pack b/tests/resources/redundant.git/objects/pack/pack-3d944c0c5bcb6b16209af847052c6ff1a521529d.pack Binary files differnew file mode 100644 index 000000000..02ea49f4b --- /dev/null +++ b/tests/resources/redundant.git/objects/pack/pack-3d944c0c5bcb6b16209af847052c6ff1a521529d.pack diff --git a/tests/resources/redundant.git/packed-refs b/tests/resources/redundant.git/packed-refs new file mode 100644 index 000000000..e8bf04d65 --- /dev/null +++ b/tests/resources/redundant.git/packed-refs @@ -0,0 +1,3 @@ +# pack-refs with: peeled fully-peeled +e18fa2788e9c4e12d83150808a31dfbfb1ae364f refs/heads/master +91f4b95df4a59504a9813ba66912562931d990e3 refs/heads/ref2/ref28 diff --git a/tests/resources/redundant.git/refs/.gitkeep b/tests/resources/redundant.git/refs/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/resources/redundant.git/refs/.gitkeep diff --git a/tests/revwalk/mergebase.c b/tests/revwalk/mergebase.c index aafe97d71..d486bbaf3 100644 --- a/tests/revwalk/mergebase.c +++ b/tests/revwalk/mergebase.c @@ -492,3 +492,22 @@ void test_revwalk_mergebase__octopus_merge_branch(void) * * a */ + +void test_revwalk_mergebase__remove_redundant(void) +{ + git_repository *repo; + git_oid one, two, base; + git_oidarray result = {NULL, 0}; + + cl_git_pass(git_repository_open(&repo, cl_fixture("redundant.git"))); + + cl_git_pass(git_oid_fromstr(&one, "d89137c93ba1ee749214ff4ce52ae9137bc833f9")); + cl_git_pass(git_oid_fromstr(&two, "91f4b95df4a59504a9813ba66912562931d990e3")); + cl_git_pass(git_oid_fromstr(&base, "6cb1f2352d974e1c5a776093017e8772416ac97a")); + + cl_git_pass(git_merge_bases(&result, repo, &one, &two)); + cl_assert_equal_i(1, result.count); + cl_assert_equal_oid(&base, &result.ids[0]); + + git_repository_free(repo); +} |