diff options
author | Sebastian Thiel <byronimo@gmail.com> | 2009-10-22 00:32:16 +0200 |
---|---|---|
committer | Sebastian Thiel <byronimo@gmail.com> | 2009-10-22 00:32:16 +0200 |
commit | aa921fee6014ef43bb2740240e9663e614e25662 (patch) | |
tree | 60d184e629489f4245954114048334812a385817 /test/git/test_index.py | |
parent | 7b50af0a20bcc7280940ce07593007d17c5acabd (diff) | |
download | gitpython-aa921fee6014ef43bb2740240e9663e614e25662.tar.gz |
Implemented merge/resolve handling , but realized that index writing is not yet working properly as it is sha1 checked as well. This explains what my 20 byte 'extension_data' actually is ;)
Diffstat (limited to 'test/git/test_index.py')
-rw-r--r-- | test/git/test_index.py | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/test/git/test_index.py b/test/git/test_index.py index a4e01054..6208a1d9 100644 --- a/test/git/test_index.py +++ b/test/git/test_index.py @@ -75,23 +75,28 @@ class TestTree(TestCase): self._cmp_tree_index(cur_sha, two_way_index) # merge three trees - here we have a merge conflict - tree_way_index = Index.from_tree(self.repo, common_ancestor_sha, cur_sha, other_sha) - assert len(list(e for e in tree_way_index.entries.values() if e.stage != 0)) + three_way_index = Index.from_tree(self.repo, common_ancestor_sha, cur_sha, other_sha) + assert len(list(e for e in three_way_index.entries.values() if e.stage != 0)) # ITERATE BLOBS merge_required = lambda t: t[0] != 0 - merge_blobs = list(tree_way_index.iter_blobs(merge_required)) + merge_blobs = list(three_way_index.iter_blobs(merge_required)) assert merge_blobs assert merge_blobs[0][0] in (1,2,3) assert isinstance(merge_blobs[0][1], Blob) # writing a tree should fail with an unmerged index - self.failUnlessRaises(GitCommandError, tree_way_index.write_tree) + self.failUnlessRaises(GitCommandError, three_way_index.write_tree) # removed unmerged entries - self.fail("remove unmerged") + unmerged_blob_map = three_way_index.unmerged_blobs() + assert unmerged_blob_map + + # pick the first blob at the first stage we find and use it as resolved version + three_way_index.resolve_blobs( l[0][1] for l in unmerged_blob_map.itervalues() ) + three_way_index.write_tree() def test_custom_commit(self): |