From 2ced7b0bf8212e8f266ff7bc0b6f6de625971890 Mon Sep 17 00:00:00 2001 From: Robert Rhoades Date: Fri, 30 Oct 2020 16:54:14 +0000 Subject: [PATCH] Fix git init -b being unavailable for older versions On older versions of git init doesn't have the -b flag. That was introduced in v2.28.0. Instead switch to using git checkout -b which has much wider support (2.4.12 was as far back as I could check on the docs). --- .../Composer/Test/Package/Archiver/ArchiveManagerTest.php | 8 +++++++- tests/Composer/Test/Repository/VcsRepositoryTest.php | 3 ++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/tests/Composer/Test/Package/Archiver/ArchiveManagerTest.php b/tests/Composer/Test/Package/Archiver/ArchiveManagerTest.php index 946ecff5d..2c99ac61c 100644 --- a/tests/Composer/Test/Package/Archiver/ArchiveManagerTest.php +++ b/tests/Composer/Test/Package/Archiver/ArchiveManagerTest.php @@ -115,12 +115,18 @@ class ArchiveManagerTest extends ArchiverTest chdir($this->testDir); $output = null; - $result = $this->process->execute('git init -q -b master', $output, $this->testDir); + $result = $this->process->execute('git init -q', $output, $this->testDir); if ($result > 0) { chdir($currentWorkDir); throw new \RuntimeException('Could not init: '.$this->process->getErrorOutput()); } + $result = $this->process->execute('git checkout -b master', $output, $this->testDir); + if ($result > 0) { + chdir($currentWorkDir); + throw new \RuntimeException('Could not checkout master branch: '.$this->process->getErrorOutput()); + } + $result = $this->process->execute('git config user.email "you@example.com"', $output, $this->testDir); if ($result > 0) { chdir($currentWorkDir); diff --git a/tests/Composer/Test/Repository/VcsRepositoryTest.php b/tests/Composer/Test/Repository/VcsRepositoryTest.php index b3cebfc14..b1d0e5a83 100644 --- a/tests/Composer/Test/Repository/VcsRepositoryTest.php +++ b/tests/Composer/Test/Repository/VcsRepositoryTest.php @@ -58,7 +58,8 @@ class VcsRepositoryTest extends TestCase } }; - $exec('git init -q -b master'); + $exec('git init -q'); + $exec('git checkout -b master'); $exec('git config user.email composertest@example.org'); $exec('git config user.name ComposerTest'); $exec('git config commit.gpgsign false');