|
@@ -66,23 +66,36 @@ class VersionGuesser
|
|
|
if (function_exists('proc_open')) {
|
|
|
$versionData = $this->guessGitVersion($packageConfig, $path);
|
|
|
if (null !== $versionData && null !== $versionData['version']) {
|
|
|
- return $versionData;
|
|
|
+ return $this->postprocess($versionData);
|
|
|
}
|
|
|
|
|
|
$versionData = $this->guessHgVersion($packageConfig, $path);
|
|
|
if (null !== $versionData && null !== $versionData['version']) {
|
|
|
- return $versionData;
|
|
|
+ return $this->postprocess($versionData);
|
|
|
}
|
|
|
|
|
|
$versionData = $this->guessFossilVersion($packageConfig, $path);
|
|
|
if (null !== $versionData && null !== $versionData['version']) {
|
|
|
- return $versionData;
|
|
|
+ return $this->postprocess($versionData);
|
|
|
}
|
|
|
|
|
|
- return $this->guessSvnVersion($packageConfig, $path);
|
|
|
+ $versionData = $this->guessSvnVersion($packageConfig, $path);
|
|
|
+ if (null !== $versionData && null !== $versionData['version']) {
|
|
|
+ return $this->postprocess($versionData);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private function postprocess(array $versionData)
|
|
|
+ {
|
|
|
+ // make sure that e.g. dev-1.5 gets converted to 1.5.x-dev
|
|
|
+ if ('dev-' !== substr($versionData['version'], 0, 4)) {
|
|
|
+ $versionData['pretty_version'] = preg_replace('{(\.9{7})+}', '.x', $versionData['version']);
|
|
|
+ }
|
|
|
+
|
|
|
+ return $versionData;
|
|
|
+ }
|
|
|
+
|
|
|
private function guessGitVersion(array $packageConfig, $path)
|
|
|
{
|
|
|
GitUtil::cleanEnv();
|