summaryrefslogtreecommitdiff
path: root/morphlib/gitdir.py
diff options
context:
space:
mode:
authorRichard Maw <richard.maw@codethink.co.uk>2014-08-12 17:59:14 +0100
committerRichard Maw <richard.maw@codethink.co.uk>2014-08-12 18:01:57 +0100
commit6241d4466599406e3ad0a176c70fcbecdfdd1b64 (patch)
tree1315974add9e092dfd58d270125c1d9b066d22a6 /morphlib/gitdir.py
parent1a6fb660b94228745efc4543138b9dc1fa50e912 (diff)
parenta74e2caafbeb49a49f542514590f720f6b215a6d (diff)
downloadmorph-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.py14
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)