From 4feed8b85cf560ce52dfae6cff207c28dee30a99 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Tue, 13 Oct 2020 15:16:39 +0200 Subject: [PATCH 1/2] Fix parsing "branch-version" --- .../Package/Loader/RootPackageLoader.php | 2 +- src/Composer/Repository/PathRepository.php | 2 +- .../Package/Loader/RootPackageLoaderTest.php | 17 +++++++++++++++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/Composer/Package/Loader/RootPackageLoader.php b/src/Composer/Package/Loader/RootPackageLoader.php index aa6134735..5eceec97d 100644 --- a/src/Composer/Package/Loader/RootPackageLoader.php +++ b/src/Composer/Package/Loader/RootPackageLoader.php @@ -82,7 +82,7 @@ class RootPackageLoader extends ArrayLoader $commit = null; if (isset($config['extra']['branch-version'])) { - $config['version'] = preg_replace('{(\.x)?(-dev)?$}', '.x-dev', $config['extra']['branch-version']); + $config['version'] = preg_replace('{(\.x)?(-dev)?$}', '', $config['extra']['branch-version']).'.x-dev'; } elseif (getenv('COMPOSER_ROOT_VERSION')) { // override with env var if available $config['version'] = getenv('COMPOSER_ROOT_VERSION'); diff --git a/src/Composer/Repository/PathRepository.php b/src/Composer/Repository/PathRepository.php index f9aa4aea0..c3076e2e7 100644 --- a/src/Composer/Repository/PathRepository.php +++ b/src/Composer/Repository/PathRepository.php @@ -167,7 +167,7 @@ class PathRepository extends ArrayRepository implements ConfigurableRepositoryIn // use the branch-version as the package version if available if (!isset($package['version']) && isset($package['extra']['branch-version'])) { - $package['version'] = preg_replace('{(\.x)?(-dev)?$}', '.x-dev', $package['extra']['branch-version']); + $package['version'] = preg_replace('{(\.x)?(-dev)?$}', '', $package['extra']['branch-version']).'.x-dev'; } // carry over the root package version if this path repo is in the same git repository as root package diff --git a/tests/Composer/Test/Package/Loader/RootPackageLoaderTest.php b/tests/Composer/Test/Package/Loader/RootPackageLoaderTest.php index f22954a9a..c50cc77e0 100644 --- a/tests/Composer/Test/Package/Loader/RootPackageLoaderTest.php +++ b/tests/Composer/Test/Package/Loader/RootPackageLoaderTest.php @@ -202,14 +202,27 @@ class RootPackageLoaderTest extends TestCase $this->assertEquals("dev-latest-production", $package->getPrettyVersion()); } - public function testLoadExtraBranchVersion() + /** + * @dataProvider provideExtraBranchVersion + */ + public function testLoadExtraBranchVersion($branchVersion) { $package = $this->loadPackage(array( 'extra' => array( - 'branch-version' => '1.2', + 'branch-version' => $branchVersion, ), )); $this->assertEquals('1.2.x-dev', $package->getPrettyVersion()); } + + public function provideExtraBranchVersion() + { + return array( + array('1.2'), + array('1.2.x'), + array('1.2-dev'), + array('1.2.x-dev'), + ); + } } From 1d553a6795dd4189d377edac54a202295f9d165c Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Tue, 13 Oct 2020 15:58:02 +0200 Subject: [PATCH 2/2] Update changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 090e2d81d..dcecc168f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +### [1.10.15] 2020-10-13 + + * Fixed path repo version guessing issue + ### [1.10.14] 2020-10-13 * Fixed version guesser to look at remote branches as well as local ones @@ -901,6 +905,7 @@ * Initial release +[1.10.15]: https://github.com/composer/composer/compare/1.10.14...1.10.15 [1.10.14]: https://github.com/composer/composer/compare/1.10.13...1.10.14 [1.10.13]: https://github.com/composer/composer/compare/1.10.12...1.10.13 [1.10.12]: https://github.com/composer/composer/compare/1.10.11...1.10.12