Hello community, here is the log from the commit of package drush for openSUSE:Factory checked in at 2018-03-09 10:47:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/drush (Old) and /work/SRC/openSUSE:Factory/.drush.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "drush" Fri Mar 9 10:47:17 2018 rev:6 rq:584559 version:8.1.16 Changes: -------- --- /work/SRC/openSUSE:Factory/drush/drush.changes 2017-10-26 18:44:48.866746208 +0200 +++ /work/SRC/openSUSE:Factory/.drush.new/drush.changes 2018-03-09 10:47:31.332676390 +0100 @@ -1,0 +2,23 @@ +Wed Feb 07 03:06:19 UTC 2018 - [email protected] + +- Update to version 8.1.16: + * prep for 8.1.16. + * Allow updatedb to proceed despite requirements errors if user confirms. + * Updated pear/console_table package. (#3352) + * Fix #3078. Environment variables are prepended to Drush command in the wrong order (#3361) + * Fix #3360. Clarify that example is for Drupal 6,7 only. + * Fixes #3351: site-install Drupal 7 with PHP 7.2 (#3353) + * Update build rules for shippable on the 8.x branch. (#3349) + * sql-sanitize to generate random user password (fixes #3086) (#3343) + * Fix router.php to work with update.php (#3247) + * Use new License identifier + * Update pear/console_table package (#3325) + * Backport of #3174, SSH command escaping (#3185) + * Fix PHP 7.2 count() notices due to pear/console_table (#3292) + * Issue #3199: Add ignored-directories option to 8.x (#3205) + * Fix .travis.yml error: run 'composer install' before 'box build' rather than after. Note that this saves >1M from the size of the .phar. + * Remove pin of reflection-docblock. Update to latest version of annotated-command, which no longer requires reflection-docblock. (#3157) + * Check requirements before running updatedb (#2708) + * Back to dev. + +------------------------------------------------------------------- Old: ---- drush-8.1.15.tar.xz New: ---- drush-8.1.16.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ drush.spec ++++++ --- /var/tmp/diff_new_pack.ODmVTu/_old 2018-03-09 10:47:32.240643684 +0100 +++ /var/tmp/diff_new_pack.ODmVTu/_new 2018-03-09 10:47:32.244643540 +0100 @@ -1,7 +1,7 @@ # # spec file for package drush # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: drush -Version: 8.1.15 +Version: 8.1.16 Release: 0 Summary: Command line shell and scripting interface for Drupal # See licenses.txt for dependency licenses. ++++++ _service ++++++ --- /var/tmp/diff_new_pack.ODmVTu/_old 2018-03-09 10:47:32.288641956 +0100 +++ /var/tmp/diff_new_pack.ODmVTu/_new 2018-03-09 10:47:32.288641956 +0100 @@ -1,7 +1,7 @@ <services> <service name="tar_scm" mode="disabled"> <param name="versionformat">@PARENT_TAG@</param> - <param name="revision">refs/tags/8.1.15</param> + <param name="revision">refs/tags/8.1.16</param> <param name="url">git://github.com/drush-ops/drush.git</param> <param name="scm">git</param> <param name="changesgenerate">enable</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.ODmVTu/_old 2018-03-09 10:47:32.316640946 +0100 +++ /var/tmp/diff_new_pack.ODmVTu/_new 2018-03-09 10:47:32.320640802 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">git://github.com/drush-ops/drush.git</param> - <param name="changesrevision">f78b619806a9bc7c3d167fa425e8757eb046bb87</param> + <param name="changesrevision">bbaff2dc725a5f3eb22006c5de3dc92a2de54b08</param> </service> </servicedata> ++++++ drush-8.1.15.tar.xz -> drush-8.1.16.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drush-8.1.15/.travis.yml new/drush-8.1.16/.travis.yml --- old/drush-8.1.15/.travis.yml 2017-10-10 04:05:46.000000000 +0200 +++ new/drush-8.1.16/.travis.yml 2018-02-06 22:18:48.000000000 +0100 @@ -127,6 +127,7 @@ before_deploy: - gem install mime-types -v 2.6.2 # https://github.com/travis-ci/travis-ci/issues/5145 - curl -LSs https://box-project.github.io/box2/installer.php | php + - composer install --prefer-dist --no-dev --optimize-autoloader --no-interaction - php box.phar build - test $TRAVIS_TAG=true && mkdir s3-stable && cp drush.phar s3-stable/drush.phar - test $TRAVIS_BRANCH=master && mkdir s3-unstable && cp drush.phar s3-unstable/drush-unstable.phar diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drush-8.1.15/commands/core/drupal/update.inc new/drush-8.1.16/commands/core/drupal/update.inc --- old/drush-8.1.15/commands/core/drupal/update.inc 2017-10-10 04:05:46.000000000 +0200 +++ new/drush-8.1.16/commands/core/drupal/update.inc 2018-02-06 22:18:48.000000000 +0100 @@ -130,6 +130,13 @@ drupal_load_updates(); update_fix_compatibility(); + // Check requirements before updating. + if (!drush_update_check_requirements()) { + if (!drush_confirm(dt('Requirements check reports errors. Do you wish to continue?'))) { + return drush_user_abort(); + } + } + // Pending hook_update_N() implementations. $pending = update_get_update_list(); @@ -186,6 +193,36 @@ return count($pending) + count($change_summary) + count($post_updates); } +/** + * Check update requirements and report any errors. + */ +function drush_update_check_requirements() { + $continue = TRUE; + + \Drupal::moduleHandler()->resetImplementations(); + $requirements = update_check_requirements(); + $severity = drupal_requirements_severity($requirements); + + // If there are issues, report them. + if ($severity != REQUIREMENT_OK) { + if ($severity === REQUIREMENT_ERROR) { + $continue = FALSE; + } + foreach ($requirements as $requirement) { + if (isset($requirement['severity']) && $requirement['severity'] != REQUIREMENT_OK) { + $message = isset($requirement['description']) ? $requirement['description'] : ''; + if (isset($requirement['value']) && $requirement['value']) { + $message .= ' (Currently using '. $requirement['title'] .' '. $requirement['value'] .')'; + } + $log_level = $requirement['severity'] === REQUIREMENT_ERROR ? LogLevel::ERROR : LogLevel::WARNING; + drush_log($message, $log_level); + } + } + } + + return $continue; +} + function _update_batch_command($id) { // In D8, we expect to be in full bootstrap. drush_bootstrap_to_phase(DRUSH_BOOTSTRAP_DRUPAL_FULL); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drush-8.1.15/commands/runserver/d8-rs-router.php new/drush-8.1.16/commands/runserver/d8-rs-router.php --- old/drush-8.1.15/commands/runserver/d8-rs-router.php 2017-10-10 04:05:46.000000000 +0200 +++ new/drush-8.1.16/commands/runserver/d8-rs-router.php 2018-02-06 22:18:48.000000000 +0100 @@ -60,8 +60,37 @@ // contain multiple dots (such as config entity IDs) in the path. Since this is // a virtual resource, served by index.php set the script name explicitly. // See https://github.com/drush-ops/drush/issues/2033 for more information. -$_SERVER['SCRIPT_NAME'] = '/index.php'; +// Work around the PHP bug. Update $_SERVER variables to point to the correct +// index-file. +$path = $url['path']; +$script = 'index.php'; +if (strpos($path, '.php') !== FALSE) { + // Work backwards through the path to check if a script exists. Otherwise + // fallback to index.php. + do { + $path = dirname($path); + if (preg_match('/\.php$/', $path) && is_file('.' . $path)) { + // Discovered that the path contains an existing PHP file. Use that as the + // script to include. + $script = ltrim($path, '/'); + break; + } + } while ($path !== '/' && $path !== '.'); +} -// Include the main index.php and let Drupal take over. -// n.b. Drush sets the cwd to the Drupal root during bootstrap. -include 'index.php'; +// Update $_SERVER variables to point to the correct index-file. +$index_file_absolute = $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . $script; +$index_file_relative = DIRECTORY_SEPARATOR . $script; + +// SCRIPT_FILENAME will point to the router script itself, it should point to +// the full path of index.php. +$_SERVER['SCRIPT_FILENAME'] = $index_file_absolute; + +// SCRIPT_NAME and PHP_SELF will either point to index.php or contain the full +// virtual path being requested depending on the URL being requested. They +// should always point to index.php relative to document root. +$_SERVER['SCRIPT_NAME'] = $index_file_relative; +$_SERVER['PHP_SELF'] = $index_file_relative; + +// Require the script and let core take over. +require $_SERVER['SCRIPT_FILENAME']; \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drush-8.1.15/commands/sql/sql.drush.inc new/drush-8.1.16/commands/sql/sql.drush.inc --- old/drush-8.1.15/commands/sql/sql.drush.inc 2017-10-10 04:05:46.000000000 +0200 +++ new/drush-8.1.16/commands/sql/sql.drush.inc 2018-02-06 22:18:48.000000000 +0100 @@ -582,7 +582,7 @@ $message_list = array(); // Sanitize passwords. - $newpassword = drush_get_option(array('sanitize-password', 'destination-sanitize-password'), 'password'); + $newpassword = drush_get_option(array('sanitize-password', 'destination-sanitize-password'), drush_generate_password()); if ($newpassword != 'no' && $newpassword !== 0) { $pw_op = ""; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drush-8.1.15/composer.json new/drush-8.1.16/composer.json --- old/drush-8.1.15/composer.json 2017-10-10 04:05:46.000000000 +0200 +++ new/drush-8.1.16/composer.json 2018-02-06 22:18:48.000000000 +0100 @@ -2,7 +2,7 @@ "name": "drush/drush", "description": "Drush is a command line shell and scripting interface for Drupal, a veritable Swiss Army knife designed to make life easier for those of us who spend some of our working hours hacking away at the command prompt.", "homepage": "http://www.drush.org", - "license": "GPL-2.0+", + "license": "GPL-2.0-or-later", "minimum-stability": "stable", "prefer-stable": true, "authors": [ @@ -36,15 +36,14 @@ "php": ">=5.4.5", "psr/log": "~1.0", "psy/psysh": "~0.6", - "consolidation/annotated-command": "~2", + "consolidation/annotated-command": "^2.8.1", "consolidation/output-formatters": "~3", "symfony/yaml": "~2.3|^3", "symfony/var-dumper": "~2.7|^3", "symfony/console": "~2.7|^3", "symfony/event-dispatcher": "~2.7|^3", "symfony/finder": "~2.7|^3", - "pear/console_table": "~1.3.0", - "phpdocumentor/reflection-docblock": "^2.0", + "pear/console_table": "~1.3.1", "webmozart/path-util": "~2" }, "require-dev": { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drush-8.1.15/composer.lock new/drush-8.1.16/composer.lock --- old/drush-8.1.15/composer.lock 2017-10-10 04:05:46.000000000 +0200 +++ new/drush-8.1.16/composer.lock 2018-02-06 22:18:48.000000000 +0100 @@ -4,26 +4,25 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "0277f7c52539e2dc1388c6f2ce7730db", + "content-hash": "f964f597be5b57a32e5078444ed7d0f4", "packages": [ { "name": "consolidation/annotated-command", - "version": "2.7.2", + "version": "2.8.1", "source": { "type": "git", "url": "https://github.com/consolidation/annotated-command.git", - "reference": "07d3c88a5de4bdd2f4aba7193387b75389dea642" + "reference": "7f94009d732922d61408536f9228aca8f22e9135" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/07d3c88a5de4bdd2f4aba7193387b75389dea642", - "reference": "07d3c88a5de4bdd2f4aba7193387b75389dea642", + "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/7f94009d732922d61408536f9228aca8f22e9135", + "reference": "7f94009d732922d61408536f9228aca8f22e9135", "shasum": "" }, "require": { - "consolidation/output-formatters": "^3.1.10", + "consolidation/output-formatters": "^3.1.12", "php": ">=5.4.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", "psr/log": "^1", "symfony/console": "^2.8|~3", "symfony/event-dispatcher": "^2.5|^3", @@ -56,20 +55,20 @@ } ], "description": "Initialize Symfony Console commands from annotated command class methods.", - "time": "2017-10-05T20:48:16+00:00" + "time": "2017-10-17T01:48:51+00:00" }, { "name": "consolidation/output-formatters", - "version": "3.1.11", + "version": "3.1.12", "source": { "type": "git", "url": "https://github.com/consolidation/output-formatters.git", - "reference": "3a1160440819269e6d8d9c11db67129384b8fb35" + "reference": "88ef346a1cefb92aab8b57a3214a6d5fc63f5d2a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/3a1160440819269e6d8d9c11db67129384b8fb35", - "reference": "3a1160440819269e6d8d9c11db67129384b8fb35", + "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/88ef346a1cefb92aab8b57a3214a6d5fc63f5d2a", + "reference": "88ef346a1cefb92aab8b57a3214a6d5fc63f5d2a", "shasum": "" }, "require": { @@ -105,7 +104,7 @@ } ], "description": "Format text by applying transformations provided by plug-in formatters.", - "time": "2017-08-17T22:11:07+00:00" + "time": "2017-10-12T19:38:03+00:00" }, { "name": "dnoegel/php-xdg-base-dir", @@ -280,16 +279,16 @@ }, { "name": "pear/console_table", - "version": "v1.3.0", + "version": "v1.3.1", "source": { "type": "git", "url": "https://github.com/pear/Console_Table.git", - "reference": "64100b9ee81852f4fa17823e55d0b385a544f976" + "reference": "1930c11897ca61fd24b95f2f785e99e0f36dcdea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pear/Console_Table/zipball/64100b9ee81852f4fa17823e55d0b385a544f976", - "reference": "64100b9ee81852f4fa17823e55d0b385a544f976", + "url": "https://api.github.com/repos/pear/Console_Table/zipball/1930c11897ca61fd24b95f2f785e99e0f36dcdea", + "reference": "1930c11897ca61fd24b95f2f785e99e0f36dcdea", "shasum": "" }, "require": { @@ -331,56 +330,7 @@ "keywords": [ "console" ], - "time": "2016-01-21T16:14:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "2.0.5", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e6a969a640b00d8daa3c66518b0405fb41ae0c4b", - "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "suggest": { - "dflydev/markdown": "~1.0", - "erusev/parsedown": "~1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "phpDocumentor": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "[email protected]" - } - ], - "time": "2016-01-25T08:17:30+00:00" + "time": "2018-01-25T20:47:17+00:00" }, { "name": "psr/log", @@ -431,16 +381,16 @@ }, { "name": "psy/psysh", - "version": "v0.8.11", + "version": "v0.8.14", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "b193cd020e8c6b66cea6457826ae005e94e6d2c0" + "reference": "91e53c16560bdb8b9592544bb38429ae00d6baee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/b193cd020e8c6b66cea6457826ae005e94e6d2c0", - "reference": "b193cd020e8c6b66cea6457826ae005e94e6d2c0", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/91e53c16560bdb8b9592544bb38429ae00d6baee", + "reference": "91e53c16560bdb8b9592544bb38429ae00d6baee", "shasum": "" }, "require": { @@ -500,7 +450,7 @@ "interactive", "shell" ], - "time": "2017-07-29T19:30:02+00:00" + "time": "2017-11-04T16:06:49+00:00" }, { "name": "symfony/console", @@ -731,16 +681,16 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.5.0", + "version": "v1.6.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "7c8fae0ac1d216eb54349e6a8baa57d515fe8803" + "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7c8fae0ac1d216eb54349e6a8baa57d515fe8803", - "reference": "7c8fae0ac1d216eb54349e6a8baa57d515fe8803", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", + "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", "shasum": "" }, "require": { @@ -752,7 +702,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.5-dev" + "dev-master": "1.6-dev" } }, "autoload": { @@ -786,7 +736,7 @@ "portable", "shim" ], - "time": "2017-06-14T15:44:48+00:00" + "time": "2017-10-11T12:05:26+00:00" }, { "name": "symfony/var-dumper", @@ -1058,6 +1008,55 @@ "time": "2015-06-14T21:17:01+00:00" }, { + "name": "phpdocumentor/reflection-docblock", + "version": "2.0.5", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e6a969a640b00d8daa3c66518b0405fb41ae0c4b", + "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "suggest": { + "dflydev/markdown": "~1.0", + "erusev/parsedown": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "phpDocumentor": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "[email protected]" + } + ], + "time": "2016-01-25T08:17:30+00:00" + }, + { "name": "phpspec/prophecy", "version": "v1.7.2", "source": { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drush-8.1.15/docs/install.md new/drush-8.1.16/docs/install.md --- old/drush-8.1.15/docs/install.md 2017-10-10 04:05:46.000000000 +0200 +++ new/drush-8.1.16/docs/install.md 2018-02-06 22:18:48.000000000 +0100 @@ -31,11 +31,85 @@ Drupal Compatibility ----------------- -Drush Version | Drush Branch | PHP | Compatible Drupal versions | Code Status -------------- | --------- | --- | -------------------------- | ----------- -Drush 9 | [master](https://travis-ci.org/drush-ops/drush) | 5.5+ | D7, D8 | <img src="https://travis-ci.org/drush-ops/drush.svg?branch=master"> -Drush 8 | [8.x](https://travis-ci.org/drush-ops/drush) | 5.4.5+ | D6, D7, D8 | <img src="https://travis-ci.org/drush-ops/drush.svg?branch=8.x"> -Drush 7 | [7.x](https://travis-ci.org/drush-ops/drush) | 5.3.0+ | D6, D7 | <img src="https://travis-ci.org/drush-ops/drush.svg?branch=7.x"> -Drush 6 | [6.x](https://travis-ci.org/drush-ops/drush) | 5.3.0+ | D6, D7 | Unsupported -Drush 5 | [5.x](https://travis-ci.org/drush-ops/drush) | 5.2.0+ | D6, D7 | Unsupported +!!! note + Drush 9 only supports one install method. It requires that your Drupal 8 site be built with Composer and Drush be listed as a dependency. + + See the [Drush 8 docs](http://docs.drush.org/en/8.x) for installing prior versions of Drush. + +Install a site-local Drush and Drush Launcher. +----------------- +1. It is recommended that Drupal 8 sites be [built using Composer, with Drush listed as a dependency](https://github.com/drupal-composer/drupal-project). That project already includes Drush in its composer.json. If your Composer project doesn't yet depend on Drush, run `composer require drush/drush` to add it. +1. To be able to call `drush` from anywhere, install the [Drush Launcher](https://github.com/drush-ops/drush-launcher). That is a small program which listens on your $PATH and hands control to a site-local Drush that is in the /vendor directory of your Composer project. If you skip this step, run Drush from Drupal root via `../vendor/bin/drush`. In that case Drush's bash integration and custom prompt won't work. +1. Run `drush init`. This edits ~/.bashrc so that Drush's custom prompt and bash integration are active. +1. See [Usage](http://docs.drush.org/en/master/usage/) for details on using Drush. +1. To use a non-default PHP, [edit ~/.bashrc so that the desired PHP is in front of your $PATH](http://stackoverflow.com/questions/4145667/how-to-override-the-path-of-php-to-use-the-mamp-path/10653443#10653443). If that is not desirable, you can change your PATH for just one request: `PATH=/path/to/php:$PATH` drush status ...` + +!!! note + + Drush 9 cannot run commandfiles from Drush 8 and below (e.g. example.drush.inc). See our [guide on porting commandfiles](https://weitzman.github.io/blog/port-to-drush9). Also note that alias and config files use a new .yml format in Drush 9. + +Drupal Compatibility +----------------- +<table> + <tr> + <th> Drush Version </th> + <th> Drush Branch </th> + <th> PHP </th> + <th> Compatible Drupal versions </th> + <th> Code Style </th> + <th> Isolation Tests </th> + <th> Functional Tests </th> + </tr> + <tr> + <td> Drush 9 </td> + <td> <a href="https://travis-ci.org/drush-ops/drush">master</a> </td> + <td> 5.6+ </td> + <td> D8.4+ </td> + <td align="center"> + <img src="https://api.shippable.com/projects/5507addd5ab6cc1352a213b5/badge?branch=master" /> + </td> + <td align="center"> + <img src="https://travis-ci.org/drush-ops/drush.svg?branch=master" /> + </td> + <td align="center"> + <img src="https://circleci.com/gh/drush-ops/drush.svg?style=shield" /> + </td> + </tr> + <tr> + <td> Drush 8 </td> + <td> <a href="https://travis-ci.org/drush-ops/drush">8.x</a> </td> + <td> 5.4.5+ </td> + <td> D6, D7, D8.3- </td> + <td align="center"> + <img src="https://circleci.com/gh/drush-ops/drush.svg?branch=8.x&style=shield" /> + </td> + <td align="center"> + - + </td> + <td align="center"> + <img src="https://travis-ci.org/drush-ops/drush.svg?branch=8.x" /> + </td> + </tr> + <tr> + <td> Drush 7 </td> + <td> <a href="https://travis-ci.org/drush-ops/drush">7.x</a> </td> + <td> 5.3.0+ </td> + <td> D6, D7 </td> + <td colspan="3" align="center"> Unsupported </td> + </tr> + <tr> + <td> Drush 6 </td> + <td> <a href="https://travis-ci.org/drush-ops/drush">6.x</a> </td> + <td> 5.3.0+ </td> + <td> D6, D7 </td> + <td colspan="3" align="center"> Unsupported </td> + </tr> + <tr> + <td> Drush 5 </td> + <td> <a href="https://travis-ci.org/drush-ops/drush">5.x</a> </td> + <td> 5.2.0+ </td> + <td> D6, D7 </td> + <td colspan="3" align="center"> Unsupported </td> + </tr> +</table> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drush-8.1.15/drush.info new/drush-8.1.16/drush.info --- old/drush-8.1.15/drush.info 2017-10-10 04:05:46.000000000 +0200 +++ new/drush-8.1.16/drush.info 2018-02-06 22:18:48.000000000 +0100 @@ -1 +1 @@ -drush_version=8.1.15 +drush_version=8.1.16 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drush-8.1.15/examples/sync_enable.drush.inc new/drush-8.1.16/examples/sync_enable.drush.inc --- old/drush-8.1.15/examples/sync_enable.drush.inc 2017-10-10 04:05:46.000000000 +0200 +++ new/drush-8.1.16/examples/sync_enable.drush.inc 2018-02-06 22:18:48.000000000 +0100 @@ -4,6 +4,9 @@ * @file * Example "Sync enable" sql-sync command alter. * + * For Drupal 8, please use the config_split module instead of this code. Drupal + * 6 and 7 sites may use this example. + * * Sync_enable adds options to sql-sync to enable and disable * modules after an sql-sync operation. One use case for this * is to use Drush site aliases to automatically enable your diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drush-8.1.15/includes/drush.inc new/drush-8.1.16/includes/drush.inc --- old/drush-8.1.15/includes/drush.inc 2017-10-10 04:05:46.000000000 +0200 +++ new/drush-8.1.16/includes/drush.inc 2018-02-06 22:18:48.000000000 +0100 @@ -328,6 +328,7 @@ $options['redirect-port'] = array('hidden' => TRUE, 'never-propagate' => TRUE, 'description' => 'Used by the user-login command to specify the redirect port on the local machine; it therefore would not do to pass this to the remote machines.'); $options['cache-clear'] = array('propagate' => TRUE, 'description' => 'If 0, Drush skips normal cache clearing; the caller should then clear if needed.', 'example-value' => '0', ); $options['local'] = array('propagate' => TRUE, 'description' => 'Don\'t look in global locations for commandfiles, config, and site aliases'); + $options['ignored-directories'] = array('propagate' => TRUE, 'description' => "Exclude directories when searching for files in drush_scan_directory().", 'example-value' => 'node_modules,bower_components'); $command = array( 'options' => $options, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drush-8.1.15/includes/environment.inc new/drush-8.1.16/includes/environment.inc --- old/drush-8.1.15/includes/environment.inc 2017-10-10 04:05:46.000000000 +0200 +++ new/drush-8.1.16/includes/environment.inc 2018-02-06 22:18:48.000000000 +0100 @@ -498,10 +498,11 @@ // Add environmental variables, if present if (!empty($environment_variables)) { - $prefix .= ' env'; + $env = 'env'; foreach ($environment_variables as $key=>$value) { - $prefix .= ' ' . drush_escapeshellarg($key, $os) . '=' . drush_escapeshellarg($value, $os); + $env .= ' ' . drush_escapeshellarg($key, $os) . '=' . drush_escapeshellarg($value, $os); } + $prefix = $env . ' ' . $prefix; } return trim($prefix . ' ' . drush_escapeshellarg($drush_path, $os) . $additional_options); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drush-8.1.15/includes/filesystem.inc new/drush-8.1.16/includes/filesystem.inc --- old/drush-8.1.15/includes/filesystem.inc 2017-10-10 04:05:46.000000000 +0200 +++ new/drush-8.1.16/includes/filesystem.inc 2018-02-06 22:18:48.000000000 +0100 @@ -680,7 +680,7 @@ $files = array(); // Exclude Bower and Node directories. - $nomask = array_merge($nomask, array('node_modules', 'bower_components')); + $nomask = array_merge($nomask, drush_get_option_list('ignored-directories', array('node_modules', 'bower_components'))); if (is_string($dir) && is_dir($dir) && $handle = opendir($dir)) { while (FALSE !== ($file = readdir($handle))) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drush-8.1.15/includes/output.inc new/drush-8.1.16/includes/output.inc --- old/drush-8.1.15/includes/output.inc 2017-10-10 04:05:46.000000000 +0200 +++ new/drush-8.1.16/includes/output.inc 2018-02-06 22:18:48.000000000 +0100 @@ -34,12 +34,15 @@ if (($charset = drush_get_option('output_charset')) && function_exists('iconv')) { $msg = iconv('UTF-8', $charset, $msg); } - if (isset($handle)) { - fwrite($handle, $msg); - } - else { - print $msg; + if (!isset($handle)) { + $handle = STDOUT; + // In the past, Drush would use `print` here; now that we are using + // fwrite (to avoid problems with php sending the http headers), we + // must explicitly capture the output, because ob_start() / ob_end() + // does not capture output written via fwrite to STDOUT. + drush_backend_output_collect($msg); } + fwrite($handle, $msg); } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drush-8.1.15/includes/startup.inc new/drush-8.1.16/includes/startup.inc --- old/drush-8.1.15/includes/startup.inc 2017-10-10 04:05:46.000000000 +0200 +++ new/drush-8.1.16/includes/startup.inc 2018-02-06 22:18:48.000000000 +0100 @@ -129,7 +129,11 @@ * Determine whether current OS is a Windows variant. */ function drush_is_windows($os = NULL) { - return strtoupper(substr($os ?: PHP_OS, 0, 3)) === 'WIN'; + // The _drush_get_os() function may not be available, so resolve "LOCAL" + if (!$os || $os == "LOCAL") { + $os = PHP_OS; + } + return strtoupper(substr($os, 0, 3)) === 'WIN'; } function drush_escapeshellarg($arg, $os = NULL, $raw = FALSE) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drush-8.1.15/shippable.yml new/drush-8.1.16/shippable.yml --- old/drush-8.1.15/shippable.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/drush-8.1.16/shippable.yml 2018-02-06 22:18:48.000000000 +0100 @@ -0,0 +1,22 @@ +language: php + +php: + - "7.1" + +build: + ci: + # Set up php configuration + - echo 'mbstring.http_input = pass' >> $HOME/.phpenv/versions/$(phpenv version-name)/etc/php.ini + - echo 'mbstring.http_output = pass' >> $HOME/.phpenv/versions/$(phpenv version-name)/etc/php.ini + - echo 'memory_limit = -1' >> $HOME/.phpenv/versions/$(phpenv version-name)/etc/php.ini + - echo 'sendmail_path = /bin/true' >> $HOME/.phpenv/versions/$(phpenv version-name)/etc/php.ini + # Disable xdebug for faster Composer operations + # - rm $HOME/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini + # Install / update our tools + # - composer self-update + # - composer install --prefer-dist --no-interaction + # Run lint check + # - composer lint + # No tests here + - echo 'No shippable tests on this branch' + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drush-8.1.15/tests/archiveDumpTest.php new/drush-8.1.16/tests/archiveDumpTest.php --- old/drush-8.1.15/tests/archiveDumpTest.php 2017-10-10 04:05:46.000000000 +0200 +++ new/drush-8.1.16/tests/archiveDumpTest.php 2018-02-06 22:18:48.000000000 +0100 @@ -2,6 +2,7 @@ namespace Unish; +require_once dirname(__FILE__) . '/../includes/context.inc'; require_once dirname(__FILE__) . '/../includes/filesystem.inc'; /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drush-8.1.15/tests/generateMakeTest.php new/drush-8.1.16/tests/generateMakeTest.php --- old/drush-8.1.15/tests/generateMakeTest.php 2017-10-10 04:05:46.000000000 +0200 +++ new/drush-8.1.16/tests/generateMakeTest.php 2018-02-06 22:18:48.000000000 +0100 @@ -1,6 +1,7 @@ <?php namespace Unish; +use Webmozart\PathUtil\Path; /** * Generate makefile tests @@ -78,7 +79,7 @@ $this->assertEquals($expected, $actual); // Download a module to a 'contrib' directory to test the subdir feature - mkdir($this->webroot() + '/sites/all/modules/contrib'); + $this->mkdir(Path::join($this->webroot(). '/sites/all/modules/contrib')); $this->drush('pm-download', array('libraries'), array('destination' => 'sites/all/modules/contrib') + $options); $this->drush('pm-enable', array('libraries'), $options); $makefile = UNISH_SANDBOX . '/dev.make.yml'; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drush-8.1.15/tests/makefiles/file.make new/drush-8.1.16/tests/makefiles/file.make --- old/drush-8.1.15/tests/makefiles/file.make 2017-10-10 04:05:46.000000000 +0200 +++ new/drush-8.1.16/tests/makefiles/file.make 2018-02-06 22:18:48.000000000 +0100 @@ -2,7 +2,7 @@ api = 2 libraries[drush_make][download][type] = "file" -libraries[drush_make][download][url] = "http://drupalcode.org/project/drush_make.git/blob_plain/8d4e770:/README.txt" +libraries[drush_make][download][url] = "https://cgit.drupalcode.org/drush_make/plain/README.txt?h=6.x-3.x&id=8d4e770aeb1cfc180d48b76b70f9bf5ee250eade" libraries[drush_make][download][filename] = "README.txt" ; Single file download diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drush-8.1.15/tests/makefiles/md5-fail.make new/drush-8.1.16/tests/makefiles/md5-fail.make --- old/drush-8.1.15/tests/makefiles/md5-fail.make 2017-10-10 04:05:46.000000000 +0200 +++ new/drush-8.1.16/tests/makefiles/md5-fail.make 2018-02-06 22:18:48.000000000 +0100 @@ -2,6 +2,6 @@ api = 2 libraries[drush_make][download][type] = "file" -libraries[drush_make][download][url] = "http://drupalcode.org/project/drush_make.git/blob_plain/8d4e770:/README.txt" +libraries[drush_make][download][url] = "https://cgit.drupalcode.org/drush_make/plain/README.txt?h=6.x-3.x&id=8d4e770aeb1cfc180d48b76b70f9bf5ee250eade" libraries[drush_make][download][filename] = "README.txt" libraries[drush_make][download][md5] = "- fail -" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drush-8.1.15/tests/makefiles/md5-succeed.make new/drush-8.1.16/tests/makefiles/md5-succeed.make --- old/drush-8.1.15/tests/makefiles/md5-succeed.make 2017-10-10 04:05:46.000000000 +0200 +++ new/drush-8.1.16/tests/makefiles/md5-succeed.make 2018-02-06 22:18:48.000000000 +0100 @@ -2,6 +2,6 @@ api = 2 libraries[drush_make][download][type] = "file" -libraries[drush_make][download][url] = "http://drupalcode.org/project/drush_make.git/blob_plain/8d4e770:/README.txt" +libraries[drush_make][download][url] = "https://cgit.drupalcode.org/drush_make/plain/README.txt?h=6.x-3.x&id=8d4e770aeb1cfc180d48b76b70f9bf5ee250eade" libraries[drush_make][download][filename] = "README.txt" libraries[drush_make][download][md5] = "c8968d801a953b9ea735364d6f3dfabc" ++++++ drush-vendor.tar.xz ++++++ ++++ 12344 lines of diff (skipped) ++++++ extensions.txt ++++++ --- /var/tmp/diff_new_pack.ODmVTu/_old 2018-03-09 10:47:33.328604495 +0100 +++ /var/tmp/diff_new_pack.ODmVTu/_new 2018-03-09 10:47:33.332604350 +0100 @@ -10,19 +10,18 @@ [5] => php >=5.3.2 [6] => php >=5.3.3 [7] => php >=5.3.3 - [8] => php >=5.3.3 + [8] => php >=5.3.9 [9] => php >=5.3.9 [10] => php >=5.3.9 [11] => php >=5.3.9 [12] => php >=5.3.9 [13] => php >=5.3.9 [14] => php >=5.3.9 - [15] => php >=5.3.9 - [16] => php >=5.4 + [15] => php >=5.4 + [16] => php >=5.4.0 [17] => php >=5.4.0 - [18] => php >=5.4.0 - [19] => php >=5.4.5 - [20] => php ^5.3.3 || ^7.0 + [18] => php >=5.4.5 + [19] => php ^5.3.3 || ^7.0 ) [suggests] => Array ++++++ licenses.txt ++++++ --- /var/tmp/diff_new_pack.ODmVTu/_old 2018-03-09 10:47:33.352603630 +0100 +++ /var/tmp/diff_new_pack.ODmVTu/_new 2018-03-09 10:47:33.356603486 +0100 @@ -1,24 +1,23 @@ Name: drush/drush Version: No version set (parsed as 1.0.0) -Licenses: GPL-2.0+ +Licenses: GPL-2.0-or-later Dependencies: Name Version License -consolidation/annotated-command 2.7.2 MIT -consolidation/output-formatters 3.1.11 MIT +consolidation/annotated-command 2.8.1 MIT +consolidation/output-formatters 3.1.12 MIT dnoegel/php-xdg-base-dir 0.1 MIT jakub-onderka/php-console-color 0.1 BSD-2-Clause jakub-onderka/php-console-highlighter v0.3.2 MIT nikic/php-parser v2.1.1 BSD-3-Clause -pear/console_table v1.3.0 BSD-2-Clause -phpdocumentor/reflection-docblock 2.0.5 MIT +pear/console_table v1.3.1 BSD-2-Clause psr/log 1.0.2 MIT -psy/psysh v0.8.11 MIT +psy/psysh v0.8.14 MIT symfony/console v2.8.28 MIT symfony/debug v2.8.28 MIT symfony/event-dispatcher v2.8.28 MIT symfony/finder v2.8.28 MIT -symfony/polyfill-mbstring v1.5.0 MIT +symfony/polyfill-mbstring v1.6.0 MIT symfony/var-dumper v2.8.28 MIT symfony/yaml v2.8.28 MIT webmozart/assert 1.2.0 MIT
