diff options
| author | Sebastian Thiel <byronimo@gmail.com> | 2011-04-07 12:14:04 +0200 |
|---|---|---|
| committer | Sebastian Thiel <byronimo@gmail.com> | 2011-04-07 12:14:04 +0200 |
| commit | e77d2d0ebb9487b696835f219e4a23a558462a55 (patch) | |
| tree | 05e6d51374e2362b5e44783af631b316679b53c7 /git/refs/tag.py | |
| parent | 8af941618a851d190668602be3b6bede1544f1dc (diff) | |
| download | GitPython-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.py | 48 |
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 |
