diff options
author | Richard Maw <richard.maw@codethink.co.uk> | 2014-08-12 17:59:14 +0100 |
---|---|---|
committer | Richard Maw <richard.maw@codethink.co.uk> | 2014-08-12 18:01:57 +0100 |
commit | 6241d4466599406e3ad0a176c70fcbecdfdd1b64 (patch) | |
tree | 1315974add9e092dfd58d270125c1d9b066d22a6 /morphlib/gitdir.py | |
parent | 1a6fb660b94228745efc4543138b9dc1fa50e912 (diff) | |
parent | a74e2caafbeb49a49f542514590f720f6b215a6d (diff) | |
download | morph-6241d4466599406e3ad0a176c70fcbecdfdd1b64.tar.gz |
Merge remote-tracking branch 'origin/baserock/richardmaw/S11416/no-unnecessary-temp-branches'
Reviewed-by: Daniel Silverstone
Diffstat (limited to 'morphlib/gitdir.py')
-rw-r--r-- | morphlib/gitdir.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/morphlib/gitdir.py b/morphlib/gitdir.py index 5b0693cb..3966a0f0 100644 --- a/morphlib/gitdir.py +++ b/morphlib/gitdir.py @@ -282,6 +282,16 @@ class Remote(object): return self._get_remote_url(self.name, 'push') @staticmethod + def _parse_ls_remote_output(output): # pragma: no cover + for line in output.splitlines(): + sha1, refname = line.split(None, 1) + yield sha1, refname + + def ls(self): # pragma: no cover + out = self.gd._runcmd(['git', 'ls-remote', self.get_fetch_url()]) + return self._parse_ls_remote_output(out) + + @staticmethod def _parse_push_output(output): for line in output.splitlines(): m = PUSH_FORMAT.match(line) @@ -484,6 +494,10 @@ class GitDirectory(object): except cliapp.AppException as e: raise InvalidRefError(self, ref) + def disambiguate_ref(self, ref): # pragma: no cover + out = self._runcmd(['git', 'rev-parse', '--symbolic-full-name', ref]) + return out.strip() + def resolve_ref_to_commit(self, ref): return self._rev_parse('%s^{commit}' % ref) |