summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Drake <michael.drake@codethink.co.uk>2015-03-18 18:13:51 +0000
committerMichael Drake <michael.drake@codethink.co.uk>2015-03-23 16:32:37 +0000
commit72d106b681ebaf113c017a4c59e999de0bead319 (patch)
tree88e4b887fd8c127c0393e9fa0ba04a41737f7452
parent886d17d40c7bf0ee5ef2d8ff68bd0daa2d1215c4 (diff)
downloadmorph-72d106b681ebaf113c017a4c59e999de0bead319.tar.gz
Add functions for checking which tags/branches contain a ref
Change-Id: Ic6e613c21ed26c528ad7c75f41af01d7552729fd
-rw-r--r--morphlib/gitdir.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/morphlib/gitdir.py b/morphlib/gitdir.py
index 03640a22..80d3bcb5 100644
--- a/morphlib/gitdir.py
+++ b/morphlib/gitdir.py
@@ -681,6 +681,23 @@ class GitDirectory(object):
if not morphlib.git.is_valid_sha1(string):
raise ExpectedSha1Error(string)
+ def _gitcmd_output_list(self, *args): # pragma: no cover
+ output = None
+ try:
+ output = morphlib.git.gitcmd(self._runcmd, *args)
+ except Exception, e:
+ raise e
+
+ return [l.strip() for l in output.splitlines()]
+
+ def tags_containing_ref(self, ref): # pragma: no cover
+ args = ['tag', '--contains', ref]
+ return self._gitcmd_output_list(*args)
+
+ def branches_containing_ref(self, ref): # pragma: no cover
+ args = ['branch', '--contains', ref]
+ return self._gitcmd_output_list(*args)
+
def _update_ref(self, ref_args, message):
args = ['update-ref']
# No test coverage, since while this functionality is useful,