summaryrefslogtreecommitdiff
path: root/test/git/test_repo.py
diff options
context:
space:
mode:
authorSebastian Thiel <byronimo@gmail.com>2010-07-06 10:46:02 +0200
committerSebastian Thiel <byronimo@gmail.com>2010-07-06 10:46:02 +0200
commit1c6d7830d9b87f47a0bfe82b3b5424a32e3164ad (patch)
tree19d9d0de030d3701b8b99f56f9d54943e734d9bc /test/git/test_repo.py
parentf963881e53a9f0a2746a11cb9cdfa82eb1f90d8c (diff)
downloadgitpython-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.py24
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