diff --git a/src/Composer/Command/RemoveCommand.php b/src/Composer/Command/RemoveCommand.php index 24437207e..048baace0 100644 --- a/src/Composer/Command/RemoveCommand.php +++ b/src/Composer/Command/RemoveCommand.php @@ -35,7 +35,7 @@ class RemoveCommand extends BaseCommand ->setName('remove') ->setDescription('Removes a package from the require or require-dev.') ->setDefinition(array( - new InputArgument('packages', InputArgument::IS_ARRAY, 'Packages that should be removed.'), + new InputArgument('packages', InputArgument::IS_ARRAY | InputArgument::REQUIRED, 'Packages that should be removed.'), new InputOption('dev', null, InputOption::VALUE_NONE, 'Removes a package from the require-dev section.'), new InputOption('no-progress', null, InputOption::VALUE_NONE, 'Do not output download progress.'), new InputOption('no-update', null, InputOption::VALUE_NONE, 'Disables the automatic update of the dependencies.'), diff --git a/src/Composer/Command/ShowCommand.php b/src/Composer/Command/ShowCommand.php index a6a046a47..03542210e 100644 --- a/src/Composer/Command/ShowCommand.php +++ b/src/Composer/Command/ShowCommand.php @@ -256,6 +256,8 @@ EOT } if (Platform::isWindows()) { $width--; + } else { + $width = max(80, $width); } if ($input->getOption('path') && null === $composer) { @@ -445,11 +447,10 @@ EOT if (isset($package['path'])) { $io->write(' ' . $package['path'], false); } - if (isset($package['warning'])) { - $io->writeError(''); - $io->writeError('' . $package['warning'] . '', false); - } $io->write(''); + if (isset($package['warning'])) { + $io->write('' . $package['warning'] . ''); + } } if ($showAllTypes) { diff --git a/src/Composer/Repository/Vcs/BitbucketDriver.php b/src/Composer/Repository/Vcs/BitbucketDriver.php index 707e8189f..7fc137c44 100644 --- a/src/Composer/Repository/Vcs/BitbucketDriver.php +++ b/src/Composer/Repository/Vcs/BitbucketDriver.php @@ -321,6 +321,11 @@ abstract class BitbucketDriver extends VcsDriver ); $hasNext = true; while ($hasNext) { + // skip headless branches which seem to be deleted branches that bitbucket nevertheless returns in the API + if ($this->vcsType === 'hg' && empty($data['heads'])) { + continue; + } + $branchData = JsonFile::parseJson($this->getContentsWithOAuthCredentials($resource), $resource); foreach ($branchData['values'] as $data) { $this->branches[$data['name']] = $data['target']['hash'];