diff --git a/tests/base.py b/tests/base.py
index 506e22c..290092e 100755
--- a/tests/base.py
+++ b/tests/base.py
@@ -1195,7 +1195,8 @@
             tmp_root = os.environ.get("ZUUL_TEST_ROOT")
         self.test_root = os.path.join(tmp_root, "zuul-test")
         self.upstream_root = os.path.join(self.test_root, "upstream")
-        self.git_root = os.path.join(self.test_root, "git")
+        self.merger_git_root = os.path.join(self.test_root, "merger-git")
+        self.launcher_git_root = os.path.join(self.test_root, "launcher-git")
         self.state_root = os.path.join(self.test_root, "lib")
 
         if os.path.exists(self.test_root):
@@ -1209,7 +1210,8 @@
         self.config.set('zuul', 'tenant_config',
                         os.path.join(FIXTURE_DIR,
                                      self.config.get('zuul', 'tenant_config')))
-        self.config.set('merger', 'git_dir', self.git_root)
+        self.config.set('merger', 'git_dir', self.merger_git_root)
+        self.config.set('launcher', 'git_dir', self.launcher_git_root)
         self.config.set('zuul', 'state_dir', self.state_root)
 
         # For each project in config:
diff --git a/tests/fixtures/zuul-connections-multiple-gerrits.conf b/tests/fixtures/zuul-connections-multiple-gerrits.conf
index 89f0aa6..3e6850d 100644
--- a/tests/fixtures/zuul-connections-multiple-gerrits.conf
+++ b/tests/fixtures/zuul-connections-multiple-gerrits.conf
@@ -7,11 +7,14 @@
 job_name_in_report=true
 
 [merger]
-git_dir=/tmp/zuul-test/git
+git_dir=/tmp/zuul-test/merger-git
 git_user_email=zuul@example.com
 git_user_name=zuul
 zuul_url=http://zuul.example.com/p
 
+[launcher]
+git_dir=/tmp/zuul-test/launcher-git
+
 [swift]
 authurl=https://identity.api.example.org/v2.0/
 user=username
diff --git a/tests/fixtures/zuul-connections-same-gerrit.conf b/tests/fixtures/zuul-connections-same-gerrit.conf
index 43109d2..57b5182 100644
--- a/tests/fixtures/zuul-connections-same-gerrit.conf
+++ b/tests/fixtures/zuul-connections-same-gerrit.conf
@@ -7,11 +7,14 @@
 job_name_in_report=true
 
 [merger]
-git_dir=/tmp/zuul-test/git
+git_dir=/tmp/zuul-test/merger-git
 git_user_email=zuul@example.com
 git_user_name=zuul
 zuul_url=http://zuul.example.com/p
 
+[launcher]
+git_dir=/tmp/zuul-test/launcher-git
+
 [swift]
 authurl=https://identity.api.example.org/v2.0/
 user=username
diff --git a/tests/fixtures/zuul.conf b/tests/fixtures/zuul.conf
index c08b5ad..48129d8 100644
--- a/tests/fixtures/zuul.conf
+++ b/tests/fixtures/zuul.conf
@@ -7,11 +7,14 @@
 job_name_in_report=true
 
 [merger]
-git_dir=/tmp/zuul-test/git
+git_dir=/tmp/zuul-test/merger-git
 git_user_email=zuul@example.com
 git_user_name=zuul
 zuul_url=http://zuul.example.com/p
 
+[launcher]
+git_dir=/tmp/zuul-test/launcher-git
+
 [swift]
 authurl=https://identity.api.example.org/v2.0/
 user=username
diff --git a/tests/unit/test_scheduler.py b/tests/unit/test_scheduler.py
index 3b9d562..778f9e8 100755
--- a/tests/unit/test_scheduler.py
+++ b/tests/unit/test_scheduler.py
@@ -1376,8 +1376,12 @@
         self.assertEmptyQueues()
         self.build_history = []
 
-        path = os.path.join(self.git_root, "org/project")
-        print(repack_repo(path))
+        path = os.path.join(self.merger_git_root, "org/project")
+        if os.path.exists(path):
+            repack_repo(path)
+        path = os.path.join(self.launcher_git_root, "org/project")
+        if os.path.exists(path):
+            repack_repo(path)
 
         A = self.fake_gerrit.addFakeChange('org/project', 'master', 'A')
         A.addApproval('code-review', 2)
@@ -1403,9 +1407,13 @@
         A = self.fake_gerrit.addFakeChange('org/project1', 'master', 'A')
         A.addPatchset(large=True)
         path = os.path.join(self.upstream_root, "org/project1")
-        print(repack_repo(path))
-        path = os.path.join(self.git_root, "org/project1")
-        print(repack_repo(path))
+        repack_repo(path)
+        path = os.path.join(self.merger_git_root, "org/project1")
+        if os.path.exists(path):
+            repack_repo(path)
+        path = os.path.join(self.launcher_git_root, "org/project1")
+        if os.path.exists(path):
+            repack_repo(path)
 
         A.addApproval('code-review', 2)
         self.fake_gerrit.addEvent(A.addApproval('approved', 1))
@@ -2681,7 +2689,11 @@
         self.assertEqual(A.reported, 2)
 
         # Delete org/new-project zuul repo. Should be recloned.
-        shutil.rmtree(os.path.join(self.git_root, "org/delete-project"))
+        p = 'org/delete-project'
+        if os.path.exists(os.path.join(self.merger_git_root, p)):
+            shutil.rmtree(os.path.join(self.merger_git_root, p))
+        if os.path.exists(os.path.join(self.launcher_git_root, p)):
+            shutil.rmtree(os.path.join(self.launcher_git_root, p))
 
         B = self.fake_gerrit.addFakeChange('org/delete-project', 'master', 'B')
 
