From 5201564c0f3a081bcf205687381f258a133e1565 Mon Sep 17 00:00:00 2001 From: Zsolt Szeberenyi Date: Tue, 2 Oct 2012 13:41:03 +0200 Subject: [PATCH 1/2] Added support for hg bookmarks --- src/Composer/Repository/Vcs/HgDriver.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Composer/Repository/Vcs/HgDriver.php b/src/Composer/Repository/Vcs/HgDriver.php index ece568b3d..6054721e0 100755 --- a/src/Composer/Repository/Vcs/HgDriver.php +++ b/src/Composer/Repository/Vcs/HgDriver.php @@ -162,6 +162,7 @@ class HgDriver extends VcsDriver { if (null === $this->branches) { $branches = array(); + $bookmarks = array(); $this->process->execute('hg branches', $output, $this->repoDir); foreach ($this->process->splitLines($output) as $branch) { @@ -170,7 +171,15 @@ class HgDriver extends VcsDriver } } - $this->branches = $branches; + $this->process->execute('hg bookmarks', $output, $this->repoDir); + foreach ($this->process->splitLines($output) as $branch) { + if ($branch && preg_match('(^(?:[\s*]*)([^\s]+)\s+\d+:(.*)$)', $branch, $match)) { + $bookmarks[$match[1]] = $match[2]; + } + } + + // Branches will have preference over bookmarks + $this->branches = array_merge($bookmarks, $branches); } return $this->branches; From 0119e80c187599955d323849469150e7ec6ed694 Mon Sep 17 00:00:00 2001 From: Arnaud Le Blanc Date: Tue, 2 Oct 2012 13:42:07 +0200 Subject: [PATCH 2/2] added --prefer-dist option to require command --- src/Composer/Command/RequireCommand.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Composer/Command/RequireCommand.php b/src/Composer/Command/RequireCommand.php index 40f16bf7a..42cf64d54 100644 --- a/src/Composer/Command/RequireCommand.php +++ b/src/Composer/Command/RequireCommand.php @@ -36,6 +36,7 @@ class RequireCommand extends InitCommand new InputArgument('packages', InputArgument::IS_ARRAY | InputArgument::OPTIONAL, 'Required package with a version constraint, e.g. foo/bar:1.0.0 or foo/bar=1.0.0 or "foo/bar 1.0.0"'), new InputOption('dev', null, InputOption::VALUE_NONE, 'Add requirement to require-dev.'), new InputOption('prefer-source', null, InputOption::VALUE_NONE, 'Forces installation from package sources when possible, including VCS information.'), + new InputOption('prefer-dist', null, InputOption::VALUE_NONE, 'Forces installation from package dist even for dev versions.'), new InputOption('no-update', null, InputOption::VALUE_NONE, 'Disables the automatic update of the dependencies.'), )) ->setHelp(<<setVerbose($input->getOption('verbose')) ->setPreferSource($input->getOption('prefer-source')) + ->setPreferDist($input->getOption('prefer-dist')) ->setDevMode($input->getOption('dev')) ->setUpdate(true) ->setUpdateWhitelist($requirements);