From b4a4c1a772d80e7fd764ecea878cfa86c07edd7e Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Wed, 5 Nov 2014 15:01:57 +0000 Subject: Add GitDirectory.ref_exists() method This allows checking if a ref exists without requiring the caller to use a try:, except: block. --- morphlib/gitdir.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'morphlib/gitdir.py') diff --git a/morphlib/gitdir.py b/morphlib/gitdir.py index 9fef4f1e..fd7f3808 100644 --- a/morphlib/gitdir.py +++ b/morphlib/gitdir.py @@ -537,6 +537,13 @@ class GitDirectory(object): def resolve_ref_to_tree(self, ref): return self._rev_parse('%s^{tree}' % ref) + def ref_exists(self, ref): + try: + self._rev_parse('%s^{commit}' % ref) + return True + except InvalidRefError: + return False + def _list_files_in_work_tree(self): for dirpath, subdirs, filenames in os.walk(self.dirname): if dirpath == self.dirname and '.git' in subdirs: -- cgit v1.2.1