From 1ce75c466c218a23082d685d34377cfbbe35f413 Mon Sep 17 00:00:00 2001 From: Marius Gedminas Date: Sat, 22 Oct 2022 12:54:36 +0300 Subject: [PATCH] Try a different workaround If we set the environment variable maybe we won't need to pass the -c to multiple commands. (The previous workaround fixed the git submodule add, but git submodule update --init --recursive remained broken). --- tests.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tests.py b/tests.py index 8ec42f5..6f05d3f 100644 --- a/tests.py +++ b/tests.py @@ -929,6 +929,7 @@ class VCSHelper: # override in subclasses command = None # type: Optional[str] + extra_env = {} @property def version(self): @@ -959,7 +960,8 @@ def _run(self, *command): command = [s.encode(locale.getpreferredencoding()) for s in command] print('$', ' '.join(command)) p = subprocess.Popen(command, stdout=subprocess.PIPE, - stderr=subprocess.STDOUT) + stderr=subprocess.STDOUT, + env={**os.environ, **self.extra_env}) stdout, stderr = p.communicate() rc = p.wait() if stdout: @@ -1061,6 +1063,9 @@ def test_get_vcs_files_empty(self): class GitHelper(VCSHelper): command = 'git' + extra_env = dict( + GIT_ALLOW_PROTOCOL='file', + ) def _init_vcs(self): if self.version_tuple >= (2, 28): @@ -1093,8 +1098,7 @@ def _init_repo_with_files(self, dirname, filenames): def _add_submodule(self, repo, subdir, subrepo): os.chdir(repo) - self.vcs._run('git', '-c', 'protocol.file.allow=always', - 'submodule', 'add', subrepo, subdir) + self.vcs._run('git', 'submodule', 'add', subrepo, subdir) self._commit() os.chdir(self.tmpdir)