diff options
author | Sebastian Thiel <byronimo@gmail.com> | 2010-07-06 10:46:02 +0200 |
---|---|---|
committer | Sebastian Thiel <byronimo@gmail.com> | 2010-07-06 10:46:02 +0200 |
commit | 1c6d7830d9b87f47a0bfe82b3b5424a32e3164ad (patch) | |
tree | 19d9d0de030d3701b8b99f56f9d54943e734d9bc /test/git/test_repo.py | |
parent | f963881e53a9f0a2746a11cb9cdfa82eb1f90d8c (diff) | |
download | gitpython-1c6d7830d9b87f47a0bfe82b3b5424a32e3164ad.tar.gz |
RevParse now generally works, but there are still some more specialized tests missing
Diffstat (limited to 'test/git/test_repo.py')
-rw-r--r-- | test/git/test_repo.py | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/test/git/test_repo.py b/test/git/test_repo.py index f1609266..89c7f6b5 100644 --- a/test/git/test_repo.py +++ b/test/git/test_repo.py @@ -394,7 +394,12 @@ class TestRepo(TestBase): """tries multiple different rev-parse syntaxes with the given name :return: parsed object""" rev_parse = self.rorepo.rev_parse - obj = rev_parse(name) + orig_obj = rev_parse(name) + if orig_obj.type == 'tag': + obj = orig_obj.object + else: + obj = orig_obj + # END deref tags by default # try history rev = name + "~" @@ -404,10 +409,9 @@ class TestRepo(TestBase): # history with number ni = 11 - history = list() - citer = obj.traverse() + history = [obj.parents[0]] for pn in range(ni): - history.append(citer.next()) + history.append(history[-1].parents[0]) # END get given amount of commits for pn in range(11): @@ -430,11 +434,14 @@ class TestRepo(TestBase): self._assert_rev_parse_types(rev, obj2) # END for each parent - return obj + return orig_obj def test_rev_parse(self): rev_parse = self.rorepo.rev_parse + # it works with tags ! + self._assert_rev_parse('0.1.4') + # start from reference num_resolved = 0 for ref in Reference.iter_items(self.rorepo): @@ -447,7 +454,6 @@ class TestRepo(TestBase): num_resolved += 1 except BadObject: print "failed on %s" % path_section - raise # is fine, in case we have something like 112, which belongs to remotes/rname/merge-requests/112 pass # END exception handling @@ -467,6 +473,12 @@ class TestRepo(TestBase): # dereference tag using ^{} notation + # ref^0 returns commit being pointed to, same with ref~0 + tag = rev_parse('0.1.4') + for token in ('~^'): + assert tag.object == rev_parse('0.1.4%s0' % token) + # END handle multiple tokens + # missing closing brace commit^{tree # missing starting brace |