diff options
author | Sandy Carter <sandy.carter@savoirfairelinux.com> | 2015-07-21 11:02:24 -0400 |
---|---|---|
committer | Sandy Carter <sandy.carter@savoirfairelinux.com> | 2015-07-21 11:02:24 -0400 |
commit | 65c07d64a7b1dc85c41083c60a8082b3705154c3 (patch) | |
tree | c4ef1f3d52a35a289c6e920dbcf79666cda2952c /git/test/test_repo.py | |
parent | f360ecd7b2de173106c08238ec60db38ec03ee9b (diff) | |
download | gitpython-65c07d64a7b1dc85c41083c60a8082b3705154c3.tar.gz |
Implement is_ancestor
Wrap `git merge-base --is-ancestor` into its own function because it acts
as a boolean check unlike base `git merge-base call`
Diffstat (limited to 'git/test/test_repo.py')
-rw-r--r-- | git/test/test_repo.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/git/test/test_repo.py b/git/test/test_repo.py index 9c08e2e4..bc9f3e92 100644 --- a/git/test/test_repo.py +++ b/git/test/test_repo.py @@ -42,6 +42,7 @@ import os import sys import tempfile import shutil +import itertools from io import BytesIO @@ -765,3 +766,16 @@ class TestRepo(TestBase): # Test for no merge base - can't do as we have self.failUnlessRaises(GitCommandError, repo.merge_base, c1, 'ffffff') + + def test_is_ancestor(self): + repo = self.rorepo + c1 = 'f6aa8d1' + c2 = '763ef75' + self.assertTrue(repo.is_ancestor(c1, c1)) + self.assertTrue(repo.is_ancestor("master", "master")) + self.assertTrue(repo.is_ancestor(c1, c2)) + self.assertTrue(repo.is_ancestor(c1, "master")) + self.assertFalse(repo.is_ancestor(c2, c1)) + self.assertFalse(repo.is_ancestor("master", c1)) + for i, j in itertools.permutations([c1, 'ffffff', ''], r=2): + self.assertRaises(GitCommandError, repo.is_ancestor, i, j) |