aboutsummaryrefslogtreecommitdiff
path: root/git/refs/tag.py
diff options
context:
space:
mode:
authorSebastian Thiel <byronimo@gmail.com>2011-04-07 12:14:04 +0200
committerSebastian Thiel <byronimo@gmail.com>2011-04-07 12:14:04 +0200
commite77d2d0ebb9487b696835f219e4a23a558462a55 (patch)
tree05e6d51374e2362b5e44783af631b316679b53c7 /git/refs/tag.py
parent8af941618a851d190668602be3b6bede1544f1dc (diff)
downloadGitPython-e77d2d0ebb9487b696835f219e4a23a558462a55.tar.gz
GitPython-e77d2d0ebb9487b696835f219e4a23a558462a55.zip
Removed all parts of the reference implementation which doesn't require the git command. everything else was moved to GitDB. None of the tests is yet expected to run, although git-python should have less trouble getting the tests back up running than GitDB. plenty of code needs to be de-duplicated though in case of the tests, which will be some work
Diffstat (limited to 'git/refs/tag.py')
-rw-r--r--git/refs/tag.py48
1 files changed, 3 insertions, 45 deletions
diff --git a/git/refs/tag.py b/git/refs/tag.py
index c09d814d..8ba9ba84 100644
--- a/git/refs/tag.py
+++ b/git/refs/tag.py
@@ -1,51 +1,11 @@
-from reference import Reference
+from gitdb.ref.tag import TagReference as GitDB_TagReference
+from git.util import RepoAliasMixin
__all__ = ["TagReference", "Tag"]
-
-
-class TagReference(Reference):
- """Class representing a lightweight tag reference which either points to a commit
- ,a tag object or any other object. In the latter case additional information,
- like the signature or the tag-creator, is available.
-
- This tag object will always point to a commit object, but may carray additional
- information in a tag object::
-
- tagref = TagReference.list_items(repo)[0]
- print tagref.commit.message
- if tagref.tag is not None:
- print tagref.tag.message"""
-
+class TagReference(GitDB_TagReference, GitDB_TagReference):
__slots__ = tuple()
- _common_path_default = "refs/tags"
- @property
- def commit(self):
- """:return: Commit object the tag ref points to"""
- obj = self.object
- if obj.type == "commit":
- return obj
- elif obj.type == "tag":
- # it is a tag object which carries the commit as an object - we can point to anything
- return obj.object
- else:
- raise ValueError( "Tag %s points to a Blob or Tree - have never seen that before" % self )
-
- @property
- def tag(self):
- """
- :return: Tag object this tag ref points to or None in case
- we are a light weight tag"""
- obj = self.object
- if obj.type == "tag":
- return obj
- return None
-
- # make object read-only
- # It should be reasonably hard to adjust an existing tag
- object = property(Reference._get_object)
-
@classmethod
def create(cls, repo, path, ref='HEAD', message=None, force=False, **kwargs):
"""Create a new tag reference.
@@ -85,7 +45,5 @@ class TagReference(Reference):
"""Delete the given existing tag or tags"""
repo.git.tag("-d", *tags)
-
-
# provide an alias
Tag = TagReference