From 1682d7d45493b1a7cb461952ff8327164463f2c2 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Mon, 11 Sep 2017 16:02:48 +0200 Subject: [PATCH] Fix path repo version parsing to follow COMPOSER_ROOT_VERSION when the git repo is shared with the root package, fixes #6625 --- src/Composer/Repository/PathRepository.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/Composer/Repository/PathRepository.php b/src/Composer/Repository/PathRepository.php index 4acdb03c7..0ce3e90d2 100644 --- a/src/Composer/Repository/PathRepository.php +++ b/src/Composer/Repository/PathRepository.php @@ -142,6 +142,17 @@ class PathRepository extends ArrayRepository implements ConfigurableRepositoryIn ); $package['transport-options'] = $this->options; + // carry over the root package version if this path repo is in the same git repository as root package + if (!isset($package['version']) && ($rootVersion = getenv('COMPOSER_ROOT_VERSION'))) { + if ( + 0 === $this->process->execute('git rev-parse HEAD', $ref1, $path) + && 0 === $this->process->execute('git rev-parse HEAD', $ref2) + && $ref1 === $ref2 + ) { + $package['version'] = $rootVersion; + } + } + if (!isset($package['version'])) { $versionData = $this->versionGuesser->guessVersion($package, $path); $package['version'] = $versionData['version'] ?: 'dev-master';