aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/wrap/wrap.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-04-27 18:37:19 +0300
committerGitHub <noreply@github.com>2017-04-27 18:37:19 +0300
commitf74f78dd89fb94923c5888246e319330bcb412a1 (patch)
treea08c71aeef48f7885a8885fdbf25672e823a09f0 /mesonbuild/wrap/wrap.py
parent42267f2afaa3b4cf69503cb6dc8edffdd46951b7 (diff)
parent4104db5f07551dc811d40a7cefb4f04246953a1c (diff)
downloadmeson-f74f78dd89fb94923c5888246e319330bcb412a1.zip
meson-f74f78dd89fb94923c5888246e319330bcb412a1.tar.gz
meson-f74f78dd89fb94923c5888246e319330bcb412a1.tar.bz2
Merge pull request #1683 from ernestask/submodules
wrap: submodule fixes
Diffstat (limited to 'mesonbuild/wrap/wrap.py')
-rw-r--r--mesonbuild/wrap/wrap.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/mesonbuild/wrap/wrap.py b/mesonbuild/wrap/wrap.py
index 67e4700..713d685 100644
--- a/mesonbuild/wrap/wrap.py
+++ b/mesonbuild/wrap/wrap.py
@@ -38,8 +38,9 @@ def build_ssl_context():
ctx.load_default_certs()
return ctx
-def quiet_git(cmd):
- pc = subprocess.Popen(['git'] + cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+def quiet_git(cmd, workingdir):
+ pc = subprocess.Popen(['git', '-C', workingdir] + cmd,
+ stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = pc.communicate()
if pc.returncode != 0:
return False, err
@@ -150,16 +151,16 @@ class Resolver:
def resolve_git_submodule(self, dirname):
# Are we in a git repository?
- ret, out = quiet_git(['rev-parse'])
+ ret, out = quiet_git(['rev-parse'], self.subdir_root)
if not ret:
return False
# Is `dirname` a submodule?
- ret, out = quiet_git(['submodule', 'status', dirname])
+ ret, out = quiet_git(['submodule', 'status', dirname], self.subdir_root)
if not ret:
return False
# Submodule has not been added, add it
if out.startswith(b'-'):
- if subprocess.call(['git', 'submodule', 'update', dirname]) != 0:
+ if subprocess.call(['git', '-C', self.subdir_root, 'submodule', 'update', '--init', dirname]) != 0:
return False
# Submodule was added already, but it wasn't populated. Do a checkout.
elif out.startswith(b' '):