GitRepository/has_submodules: add treeish argument
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Fri, 27 Jun 2014 05:36:29 +0000 (08:36 +0300)
committerMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Fri, 14 Nov 2014 12:22:04 +0000 (14:22 +0200)
For defining a Git treeish which to look into, instead of the current
working copy.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
gbp/git/repository.py

index 1b69640..6042cad 100644 (file)
@@ -1781,18 +1781,23 @@ class GitRepository(object):
 
 #{ Submodules
 
-    def has_submodules(self):
+    def has_submodules(self, treeish=None):
         """
         Does the repo have any submodules?
 
+        @param treeish: look into treeish
+        @type treeish: C{str}
         @return: C{True} if the repository has any submodules, C{False}
             otherwise
         @rtype: C{bool}
         """
-        if os.path.exists(os.path.join(self.path, '.gitmodules')):
+        if treeish:
+            try:
+                self.show('%s:.gitmodules' % treeish)
+            except GitRepositoryError:
+                return False
             return True
-        else:
-            return False
+        return os.path.exists(os.path.join(self.path, '.gitmodules'))
 
 
     def add_submodule(self, repo_path):