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/remote.py | |
parent | 8af941618a851d190668602be3b6bede1544f1dc (diff) | |
download | gitpython-e77d2d0ebb9487b696835f219e4a23a558462a55.tar.gz |
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/remote.py')
-rw-r--r-- | git/refs/remote.py | 44 |
1 files changed, 4 insertions, 40 deletions
diff --git a/git/refs/remote.py b/git/refs/remote.py index b7b07d4b..ae6f626d 100644 --- a/git/refs/remote.py +++ b/git/refs/remote.py @@ -1,46 +1,15 @@ -from head import Head -from git.util import join_path -from gitdb.util import join - import os - +from gitdb.ref.remote import RemoteReference as GitDB_RemoteReference +from git.util import RepoAliasMixin __all__ = ["RemoteReference"] -class RemoteReference(Head): +class RemoteReference(GitDB_RemoteReference, RepoAliasMixin): """Represents a reference pointing to a remote head.""" - _common_path_default = "refs/remotes" - + __slots__ = tuple() @classmethod - def iter_items(cls, repo, common_path = None, remote=None): - """Iterate remote references, and if given, constrain them to the given remote""" - common_path = common_path or cls._common_path_default - if remote is not None: - common_path = join_path(common_path, str(remote)) - # END handle remote constraint - return super(RemoteReference, cls).iter_items(repo, common_path) - - @property - def remote_name(self): - """ - :return: - Name of the remote we are a reference of, such as 'origin' for a reference - named 'origin/master'""" - tokens = self.path.split('/') - # /refs/remotes/<remote name>/<branch_name> - return tokens[2] - - @property - def remote_head(self): - """:return: Name of the remote head itself, i.e. master. - :note: The returned name is usually not qualified enough to uniquely identify - a branch""" - tokens = self.path.split('/') - return '/'.join(tokens[3:]) - - @classmethod def delete(cls, repo, *refs, **kwargs): """Delete the given remote references. :note: @@ -56,8 +25,3 @@ class RemoteReference(Head): except OSError: pass # END for each ref - - @classmethod - def create(cls, *args, **kwargs): - """Used to disable this method""" - raise TypeError("Cannot explicitly create remote references") |