summaryrefslogtreecommitdiff
path: root/morphlib/gitdir.py
diff options
context:
space:
mode:
Diffstat (limited to 'morphlib/gitdir.py')
-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)