summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alvarez <pedro.alvarez@codethink.co.uk>2016-08-05 12:06:32 +0000
committerPedro Alvarez <pedro.alvarez@codethink.co.uk>2016-08-05 12:06:32 +0000
commit720fa417c7375f4d19612fa8f2a07edee427044c (patch)
treea73895098d225b7ff462c1669f77974d96bcf86d
parente6c5f039ad7586bf98afecb2db9f6b8ec96db9ce (diff)
downloadmorph-720fa417c7375f4d19612fa8f2a07edee427044c.tar.gz
Use rev-list -1 to get ref sha1
Change-Id: I800edd478b1ea0afa495e765583989094fb106f0
-rw-r--r--morphlib/gitdir.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/morphlib/gitdir.py b/morphlib/gitdir.py
index f1286b25..9ba0fd39 100644
--- a/morphlib/gitdir.py
+++ b/morphlib/gitdir.py
@@ -602,6 +602,13 @@ class GitDirectory(object):
except cliapp.AppException as e:
raise InvalidRefError(self, ref)
+ def _rev_list_1(self, ref):
+ try:
+ return morphlib.git.gitcmd(self._runcmd, 'rev-list',
+ '-1', ref).strip()
+ except cliapp.AppException as e: # pragma: no cover
+ raise InvalidRefError(self, ref)
+
def get_upstream_of_branch(self, branch): # pragma: no cover
try:
out = morphlib.git.gitcmd(
@@ -622,7 +629,7 @@ class GitDirectory(object):
raise
def resolve_ref_to_commit(self, ref):
- return self._rev_parse('%s^{commit}' % ref)
+ return self._rev_list_1('%s^{commit}' % ref)
def resolve_ref_to_tree(self, ref):
return self._rev_parse('%s^{tree}' % ref)