diff options
author | Markus Lehtonen <markus.lehtonen@linux.intel.com> | 2014-06-27 08:36:29 +0300 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2015-02-25 16:15:09 +0100 |
commit | e4f767f7c9a2c4a2f01d0345820bf7b500a1f834 (patch) | |
tree | 89b43cd9966da93fc8b22e85d6ec32e9d9bad3ec | |
parent | 31663c8b440540127936fa57334f5f35153bb7f6 (diff) |
GitRepository/has_submodules: add treeish argument
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>
-rw-r--r-- | gbp/git/repository.py | 13 | ||||
-rw-r--r-- | tests/04_test_submodules.py | 2 |
2 files changed, 11 insertions, 4 deletions
diff --git a/gbp/git/repository.py b/gbp/git/repository.py index 797c8c0..689430f 100644 --- a/gbp/git/repository.py +++ b/gbp/git/repository.py @@ -1736,18 +1736,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): diff --git a/tests/04_test_submodules.py b/tests/04_test_submodules.py index a18f8b5..deb389d 100644 --- a/tests/04_test_submodules.py +++ b/tests/04_test_submodules.py @@ -87,6 +87,8 @@ def test_add_submodule(): def test_has_submodules(): """Check for submodules""" ok_(REPO.has_submodules()) + ok_(REPO.has_submodules('HEAD')) + ok_(not REPO.has_submodules('HEAD^')) def test_get_submodules(): |