diff options
author | Pedro Alvarez <pedro.alvarez@codethink.co.uk> | 2016-08-05 12:06:32 +0000 |
---|---|---|
committer | Pedro Alvarez <pedro.alvarez@codethink.co.uk> | 2016-08-05 12:06:32 +0000 |
commit | 720fa417c7375f4d19612fa8f2a07edee427044c (patch) | |
tree | a73895098d225b7ff462c1669f77974d96bcf86d | |
parent | e6c5f039ad7586bf98afecb2db9f6b8ec96db9ce (diff) | |
download | morph-720fa417c7375f4d19612fa8f2a07edee427044c.tar.gz |
Use rev-list -1 to get ref sha1
Change-Id: I800edd478b1ea0afa495e765583989094fb106f0
-rw-r--r-- | morphlib/gitdir.py | 9 |
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) |