aboutsummaryrefslogtreecommitdiff
path: root/lib/git/tag.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/git/tag.py')
-rw-r--r--lib/git/tag.py126
1 files changed, 0 insertions, 126 deletions
diff --git a/lib/git/tag.py b/lib/git/tag.py
deleted file mode 100644
index 89060ee0..00000000
--- a/lib/git/tag.py
+++ /dev/null
@@ -1,126 +0,0 @@
-# tag.py
-# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
-#
-# This module is part of GitPython and is released under
-# the BSD License: http://www.opensource.org/licenses/bsd-license.php
-
-import commit
-import base
-
-class TagRef(base.Ref):
- """
- Class representing a lightweight tag reference which either points to a commit
- or to a tag 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 = TagRef.find_all(repo)[0]
- print tagref.commit.message
- if tagref.tag is not None:
- print tagref.tag.message
- """
-
- __slots__ = "tag"
-
- def __init__(self, path, commit_or_tag):
- """
- Initialize a newly instantiated Tag
-
- ``path``
- is the full path to the tag
-
- ``commit_or_tag``
- is the Commit or TagObject that this tag ref points to
- """
- super(TagRef, self).__init__(path, commit_or_tag)
- self.tag = None
-
- if commit_or_tag.type == "tag":
- self.tag = commit_or_tag
- # END tag object handling
-
- @property
- def commit(self):
- """
- Returns
- Commit object the tag ref points to
- """
- if self.object.type == "commit":
- return self.object
- # it is a tag object
- return self.object.object
-
- @classmethod
- def find_all(cls, repo, common_path = "refs/tags", **kwargs):
- """
- Returns
- git.Tag[]
-
- For more documentation, please refer to git.base.Ref.find_all
- """
- return super(TagRef,cls).find_all(repo, common_path, **kwargs)
-
-
-# provide an alias
-Tag = TagRef
-
-class TagObject(base.Object):
- """
- Non-Lightweight tag carrying additional information about an object we are pointing
- to.
- """
- type = "tag"
- __slots__ = ( "object", "tag", "tagger", "tagged_date", "message" )
-
- def __init__(self, repo, id, object=None, tag=None,
- tagger=None, tagged_date=None, message=None):
- """
- Initialize a tag object with additional data
-
- ``repo``
- repository this object is located in
-
- ``id``
- SHA1 or ref suitable for git-rev-parse
-
- ``object``
- Object instance of object we are pointing to
-
- ``tag``
- name of this tag
-
- ``tagger``
- Actor identifying the tagger
-
- ``tagged_date`` : (tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst)
- is the DateTime of the tag creation
- """
- super(TagObject, self).__init__(repo, id )
- self._set_self_from_args_(locals())
-
- def _set_cache_(self, attr):
- """
- Cache all our attributes at once
- """
- if attr in self.__slots__:
- output = self.repo.git.cat_file(self.type,self.id)
- lines = output.split("\n")
-
- obj, hexsha = lines[0].split(" ") # object <hexsha>
- type_token, type_name = lines[1].split(" ") # type <type_name>
- self.object = base.Object.get_type_by_name(type_name)(self.repo, hexsha)
-
- self.tag = lines[2][4:] # tag <tag name>
-
- tagger_info = lines[3][7:]# tagger <actor> <date>
- self.tagger, self.tagged_date = commit.Commit._actor(tagger_info)
-
- # line 4 empty - check git source to figure out purpose
- self.message = "\n".join(lines[5:])
- # END check our attributes
- else:
- super(TagObject, self)._set_cache_(attr)
-
-