Hello community, here is the log from the commit of package platformsh-cli for openSUSE:Factory checked in at 2018-05-08 13:39:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/platformsh-cli (Old) and /work/SRC/openSUSE:Factory/.platformsh-cli.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "platformsh-cli" Tue May 8 13:39:13 2018 rev:46 rq:605189 version:3.32.4 Changes: -------- --- /work/SRC/openSUSE:Factory/platformsh-cli/platformsh-cli.changes 2018-04-20 17:33:21.546077064 +0200 +++ /work/SRC/openSUSE:Factory/.platformsh-cli.new/platformsh-cli.changes 2018-05-08 13:39:26.912986678 +0200 @@ -1,0 +2,10 @@ +Mon May 07 23:25:40 UTC 2018 - [email protected] + +- Update to version 3.32.4: + * Release v3.32.4 + * Statically cache project users (speeds up commands like 'user:get') + * Fix descriptions for activity messages that contain / + * Raise default updates check interval to 7 days + * [project:set-remote] ignore the "current" project if it does not exist + +------------------------------------------------------------------- Old: ---- platformsh-cli-3.32.3.tar.xz New: ---- platformsh-cli-3.32.4.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ platformsh-cli.spec ++++++ --- /var/tmp/diff_new_pack.gNQmwM/_old 2018-05-08 13:39:29.740884601 +0200 +++ /var/tmp/diff_new_pack.gNQmwM/_new 2018-05-08 13:39:29.744884456 +0200 @@ -17,7 +17,7 @@ Name: platformsh-cli -Version: 3.32.3 +Version: 3.32.4 Release: 0 Summary: Tool for managing Platform.sh services from the command line # See licenses.txt for dependency licenses. ++++++ _service ++++++ --- /var/tmp/diff_new_pack.gNQmwM/_old 2018-05-08 13:39:29.788882868 +0200 +++ /var/tmp/diff_new_pack.gNQmwM/_new 2018-05-08 13:39:29.792882724 +0200 @@ -2,7 +2,7 @@ <service name="tar_scm" mode="disabled"> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> - <param name="revision">refs/tags/v3.32.3</param> + <param name="revision">refs/tags/v3.32.4</param> <param name="url">git://github.com/platformsh/platformsh-cli.git</param> <param name="scm">git</param> <param name="changesgenerate">enable</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.gNQmwM/_old 2018-05-08 13:39:29.828881425 +0200 +++ /var/tmp/diff_new_pack.gNQmwM/_new 2018-05-08 13:39:29.828881425 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">git://github.com/platformsh/platformsh-cli.git</param> - <param name="changesrevision">6c3f2940691fd215d0edc36e6a0d2f75b4452a45</param> + <param name="changesrevision">41bb3fe19375eee40a340d150077b5253b71f1f8</param> </service> </servicedata> ++++++ platformsh-cli-3.32.3.tar.xz -> platformsh-cli-3.32.4.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.32.3/README.md new/platformsh-cli-3.32.4/README.md --- old/platformsh-cli-3.32.3/README.md 2018-04-19 14:02:04.000000000 +0200 +++ new/platformsh-cli-3.32.4/README.md 2018-05-07 09:59:27.000000000 +0200 @@ -236,8 +236,8 @@ # Whether to check for automatic updates. check: true - # The interval between checking for updates (seconds). - check_interval: 86400 + # The interval between checking for updates (in seconds). 604800 = 7 days. + check_interval: 604800 ``` Other customization is available via environment variables: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.32.3/config.yaml new/platformsh-cli-3.32.4/config.yaml --- old/platformsh-cli-3.32.3/config.yaml 2018-04-19 14:02:04.000000000 +0200 +++ new/platformsh-cli-3.32.4/config.yaml 2018-05-07 09:59:27.000000000 +0200 @@ -1,7 +1,7 @@ # Metadata about the CLI application itself. application: name: 'Platform.sh CLI' - version: '3.32.3' + version: '3.32.4' executable: 'platform' package_name: 'platformsh/cli' installer_url: 'https://platform.sh/cli/installer' @@ -101,7 +101,8 @@ # Automatic updates. # This can be overridden in the user config file. updates: - check_interval: 86400 + # The interval between automatic update checks (in seconds). 604800 = 7 days. + check_interval: 604800 # Overridden by {application.env_prefix}UPDATES_CHECK env var. check: true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.32.3/dist/manifest.json new/platformsh-cli-3.32.4/dist/manifest.json --- old/platformsh-cli-3.32.3/dist/manifest.json 2018-04-19 14:02:04.000000000 +0200 +++ new/platformsh-cli-3.32.4/dist/manifest.json 2018-05-07 09:59:27.000000000 +0200 @@ -1,10 +1,10 @@ [ { "name": "platform.phar", - "sha1": "36cf03f0834e3e24e4133401bbe8a8725cb76e69", - "sha256": "6c6cd56ccd77aaea2a8a2104e90348f2495485e1b7b23c822911a49b52ec10b5", - "url": "https://github.com/platformsh/platformsh-cli/releases/download/v3.32.3/platform.phar", - "version": "3.32.3", + "sha1": "2457b38ec2456bd4eadbefb571c8ddd4f3843be6", + "sha256": "62ca0646bd7fc6b31bb459991378399b93c0436d493e73f75cf04396f32b7bfa", + "url": "https://github.com/platformsh/platformsh-cli/releases/download/v3.32.4/platform.phar", + "version": "3.32.4", "php": { "min": "5.5.9" }, @@ -122,6 +122,11 @@ "notes": "New features:\n\n* Add MongoDB commands: mongo, mongoexport, mongodump, and mongorestore.\n* In the user:add command, add a wildcard (%) for the environment ID, so you can\n add users to multiple environments concisely via the --role option.\n See: platform help user:add\n* Parse !include tags when loading a YAML file.\n\nOther changes:\n\n* In command help, word-wrap option descriptions to the terminal width.\n* Try to refresh an environment before giving an \"Operation not available\" error.\n* Fix `--pipe` option in the `user:role` command.\n* Suppress PHP's timezone warning while detecting the system timezone.", "show from": "3.31.0", "hide from": "3.32.0" + }, + { + "notes": "* Increase the default interval between updates checks, from 1 day to 7 days.\n* Fix formatting for activity descriptions that contain a `/` character.\n* In the `project:set-remote` command, do not error out if the \"current\" project\n does not exist.\n* Minor performance improvement to `user` commands when looking up existing\n users.", + "show from": "3.32.3", + "hide from": "3.32.4" } ] } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.32.3/src/Command/CompletionCommand.php new/platformsh-cli-3.32.4/src/Command/CompletionCommand.php --- old/platformsh-cli-3.32.3/src/Command/CompletionCommand.php 2018-04-19 14:02:04.000000000 +0200 +++ new/platformsh-cli-3.32.4/src/Command/CompletionCommand.php 2018-05-07 09:59:27.000000000 +0200 @@ -299,7 +299,7 @@ } $emails = []; - foreach ($project->getUsers() as $projectAccess) { + foreach ($this->api->getProjectAccesses($project) as $projectAccess) { $account = $this->api->getAccount($projectAccess); $emails[] = $account['email']; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.32.3/src/Command/Project/ProjectSetRemoteCommand.php new/platformsh-cli-3.32.4/src/Command/Project/ProjectSetRemoteCommand.php --- old/platformsh-cli-3.32.3/src/Command/Project/ProjectSetRemoteCommand.php 2018-04-19 14:02:04.000000000 +0200 +++ new/platformsh-cli-3.32.4/src/Command/Project/ProjectSetRemoteCommand.php 2018-05-07 09:59:27.000000000 +0200 @@ -2,6 +2,7 @@ namespace Platformsh\Cli\Command\Project; use Platformsh\Cli\Command\CommandBase; +use Platformsh\Cli\Exception\ProjectNotFoundException; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; @@ -41,7 +42,11 @@ $this->debug('Git repository found: ' . $root); - $currentProject = $this->getCurrentProject(); + try { + $currentProject = $this->getCurrentProject(); + } catch (ProjectNotFoundException $e) { + $currentProject = false; + } if ($currentProject && $currentProject->id === $project->id) { $this->stdErr->writeln(sprintf( 'The remote project for this repository is already set as: <info>%s</info>', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.32.3/src/Command/User/UserAddCommand.php new/platformsh-cli-3.32.4/src/Command/User/UserAddCommand.php --- old/platformsh-cli-3.32.3/src/Command/User/UserAddCommand.php 2018-04-19 14:02:04.000000000 +0200 +++ new/platformsh-cli-3.32.4/src/Command/User/UserAddCommand.php 2018-05-07 09:59:27.000000000 +0200 @@ -58,7 +58,7 @@ $update = stripos($input->getFirstArgument(), ':u'); if ($update && $input->isInteractive()) { $choices = []; - foreach ($project->getUsers() as $access) { + foreach ($this->api()->getProjectAccesses($project) as $access) { $account = $this->api()->getAccount($access); $choices[$account['email']] = $this->getUserLabel($access); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.32.3/src/Command/User/UserListCommand.php new/platformsh-cli-3.32.4/src/Command/User/UserListCommand.php --- old/platformsh-cli-3.32.3/src/Command/User/UserListCommand.php 2018-04-19 14:02:04.000000000 +0200 +++ new/platformsh-cli-3.32.4/src/Command/User/UserListCommand.php 2018-05-07 09:59:27.000000000 +0200 @@ -29,7 +29,7 @@ $i = 0; /** @var \Platformsh\Cli\Service\Table $table */ $table = $this->getService('table'); - foreach ($project->getUsers() as $projectAccess) { + foreach ($this->api()->getProjectAccesses($project) as $projectAccess) { $account = $this->api()->getAccount($projectAccess); $role = $projectAccess->role; $weight = $i++; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.32.3/src/Command/User/UserRoleCommand.php new/platformsh-cli-3.32.4/src/Command/User/UserRoleCommand.php --- old/platformsh-cli-3.32.3/src/Command/User/UserRoleCommand.php 2018-04-19 14:02:04.000000000 +0200 +++ new/platformsh-cli-3.32.4/src/Command/User/UserRoleCommand.php 2018-05-07 09:59:27.000000000 +0200 @@ -54,7 +54,7 @@ $email = $input->getArgument('email'); if ($email === null && $input->isInteractive()) { $choices = []; - foreach ($project->getUsers() as $access) { + foreach ($this->api()->getProjectAccesses($project) as $access) { $account = $this->api()->getAccount($access); $choices[$account['email']] = sprintf('%s (%s)', $account['display_name'], $account['email']); } @@ -114,7 +114,7 @@ if ($input->getOption('pipe')) { $uuid = $projectAccess->id; if ($level !== 'environment') { - $projectAccess = $this->api()->loadProjectAccessByEmail($project, $email); + $projectAccess = $this->api()->loadProjectAccessByEmail($project, $email, true); $currentRole = $projectAccess ? $projectAccess->role : 'none'; } else { $currentRole = 'none'; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.32.3/src/Service/ActivityMonitor.php new/platformsh-cli-3.32.4/src/Service/ActivityMonitor.php --- old/platformsh-cli-3.32.3/src/Service/ActivityMonitor.php 2018-04-19 14:02:04.000000000 +0200 +++ new/platformsh-cli-3.32.4/src/Service/ActivityMonitor.php 2018-05-07 09:59:27.000000000 +0200 @@ -289,7 +289,7 @@ // Replace description HTML elements with Symfony Console decoration // tags. - $value = preg_replace('@<[^/>]+>@', '<options=underscore>', $value); + $value = preg_replace('@<[^/][^>]+>@', '<options=underscore>', $value); $value = preg_replace('@</[^>]+>@', '</>', $value); // Replace literal tags like "<info&;gt;" with escaped tags like diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.32.3/src/Service/Api.php new/platformsh-cli-3.32.4/src/Service/Api.php --- old/platformsh-cli-3.32.3/src/Service/Api.php 2018-04-19 14:02:04.000000000 +0200 +++ new/platformsh-cli-3.32.4/src/Service/Api.php 2018-05-07 09:59:27.000000000 +0200 @@ -55,6 +55,9 @@ /** @var \Platformsh\Client\Model\Account[] */ protected static $accountsCache = []; + /** @var \Platformsh\Client\Model\ProjectAccess[] */ + protected static $projectAccessesCache = []; + /** @var array */ protected static $notFound = []; @@ -549,16 +552,34 @@ } /** + * Load project users ("project access" records). + * + * @param \Platformsh\Client\Model\Project $project + * @param bool $reset + * + * @return ProjectAccess[] + */ + public function getProjectAccesses(Project $project, $reset = false) + { + if ($reset || !isset(self::$projectAccessesCache[$project->id])) { + self::$projectAccessesCache[$project->id] = $project->getUsers(); + } + + return self::$projectAccessesCache[$project->id]; + } + + /** * Load a project user ("project access" record) by email address. * * @param Project $project * @param string $email + * @param bool $reset * * @return ProjectAccess|false */ - public function loadProjectAccessByEmail(Project $project, $email) + public function loadProjectAccessByEmail(Project $project, $email, $reset = false) { - foreach ($project->getUsers() as $user) { + foreach ($this->getProjectAccesses($project, $reset) as $user) { $account = $this->getAccount($user); if ($account['email'] === $email) { return $user; ++++++ platformsh-cli-vendor.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/autoload.php new/vendor/autoload.php --- old/vendor/autoload.php 2018-04-19 14:59:16.166391587 +0200 +++ new/vendor/autoload.php 2018-05-08 01:25:42.917466408 +0200 @@ -4,4 +4,4 @@ require_once __DIR__ . '/composer/autoload_real.php'; -return ComposerAutoloaderInita0c56a591185deffae88820ea5cc8e15::getLoader(); +return ComposerAutoloaderInit21a94438bd5e1cc08ddef19f43b7e6a1::getLoader(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/composer/autoload_real.php new/vendor/composer/autoload_real.php --- old/vendor/composer/autoload_real.php 2018-04-19 14:59:16.166391587 +0200 +++ new/vendor/composer/autoload_real.php 2018-05-08 01:25:42.917466408 +0200 @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInita0c56a591185deffae88820ea5cc8e15 +class ComposerAutoloaderInit21a94438bd5e1cc08ddef19f43b7e6a1 { private static $loader; @@ -19,15 +19,15 @@ return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInita0c56a591185deffae88820ea5cc8e15', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit21a94438bd5e1cc08ddef19f43b7e6a1', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(); - spl_autoload_unregister(array('ComposerAutoloaderInita0c56a591185deffae88820ea5cc8e15', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit21a94438bd5e1cc08ddef19f43b7e6a1', 'loadClassLoader')); $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); if ($useStaticLoader) { require_once __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInita0c56a591185deffae88820ea5cc8e15::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit21a94438bd5e1cc08ddef19f43b7e6a1::getInitializer($loader)); } else { $map = require __DIR__ . '/autoload_namespaces.php'; foreach ($map as $namespace => $path) { @@ -48,19 +48,19 @@ $loader->register(true); if ($useStaticLoader) { - $includeFiles = Composer\Autoload\ComposerStaticInita0c56a591185deffae88820ea5cc8e15::$files; + $includeFiles = Composer\Autoload\ComposerStaticInit21a94438bd5e1cc08ddef19f43b7e6a1::$files; } else { $includeFiles = require __DIR__ . '/autoload_files.php'; } foreach ($includeFiles as $fileIdentifier => $file) { - composerRequirea0c56a591185deffae88820ea5cc8e15($fileIdentifier, $file); + composerRequire21a94438bd5e1cc08ddef19f43b7e6a1($fileIdentifier, $file); } return $loader; } } -function composerRequirea0c56a591185deffae88820ea5cc8e15($fileIdentifier, $file) +function composerRequire21a94438bd5e1cc08ddef19f43b7e6a1($fileIdentifier, $file) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { require $file; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/composer/autoload_static.php new/vendor/composer/autoload_static.php --- old/vendor/composer/autoload_static.php 2018-04-19 14:59:16.166391587 +0200 +++ new/vendor/composer/autoload_static.php 2018-05-08 01:25:42.917466408 +0200 @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInita0c56a591185deffae88820ea5cc8e15 +class ComposerStaticInit21a94438bd5e1cc08ddef19f43b7e6a1 { public static $files = array ( '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', @@ -195,9 +195,9 @@ public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInita0c56a591185deffae88820ea5cc8e15::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInita0c56a591185deffae88820ea5cc8e15::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInita0c56a591185deffae88820ea5cc8e15::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit21a94438bd5e1cc08ddef19f43b7e6a1::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit21a94438bd5e1cc08ddef19f43b7e6a1::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInit21a94438bd5e1cc08ddef19f43b7e6a1::$classMap; }, null, ClassLoader::class); }
