repo.force_fetch()
return repo
+ def list_tags(self, obj):
+ """List tags pointing at certain object"""
+ return self._git_inout('tag', ['--points-at', obj])[0].splitlines()
+
def get_tag_info(self, tag):
"""Look up data of a tag"""
stdout, _stderr, ret = self._git_inout('cat-file', ['tag', tag])
# Restore orig repo HEAD
self.orig_repo.set_branch(orig_branch)
+ def test_list_tags(self):
+ """Test list_tags() method"""
+ repo = MirrorGitRepository.clone('testrepo', self.orig_repo.path)
+
+ # No tags pointing to HEAD
+ repo.create_tag('tag1', msg='Tag 1', commit='HEAD^')
+ eq_(repo.list_tags('HEAD'), [])
+
+ # One tag pointing to HEAD
+ repo.create_tag('tag2', msg='Tag 2')
+ eq_(repo.list_tags('HEAD'), ['tag2'])
+
def test_get_tag_info(self):
"""Test get_tag_info() method"""
repo = MirrorGitRepository.clone('testrepo', self.orig_repo.path)