If the write permission or file ownership is set incorrectly such that "drush feature-update" cannot write new files, drush continues and still displays the "Created module: ..." message instead of failing with an error.

In the latest Drush 5 the individual file operations properly display error messages. But these results are not used by "feature-update" to generate a top-level error.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

mpotter’s picture

Status: Active » Needs review
FileSize
1.72 KB

Here is a patch to improve the error messages. The case of all files failing is detected separately from the case of only some files failing. Only the case where all files fail is cause for the "die" error. It's possible that we also want to die if any file failed, but looking for opinions on that.

hefox’s picture

Version: 7.x-1.x-dev » 7.x-2.x-dev
Issue summary: View changes
Status: Needs review » Needs work
  1. +++ b/features.drush.inc
    @@ -560,13 +560,29 @@ function _drush_features_export($stub, $dependencies, $module_name = NULL, $dire
    +        if ($res > 0) {
    

    More standard to just do if ($res) {

  2. +++ b/features.drush.inc
    @@ -560,13 +560,29 @@ function _drush_features_export($stub, $dependencies, $module_name = NULL, $dire
    +      if ($files_success == 0) {
    

    !$fils_success?

  3. +++ b/features.drush.inc
    @@ -560,13 +560,29 @@ function _drush_features_export($stub, $dependencies, $module_name = NULL, $dire
    +        drush_die(dt('Couldn\'t update files in module: !module in !directory.' . "\n" . '-- Check files for ownership and write permission.', array('!module' => $module_name, '!directory' => $directory)));
    

    Double quotes with unslashes ' is better for translations tmk. Not sure about \n in t

  4. +++ b/features.drush.inc
    @@ -560,13 +560,29 @@ function _drush_features_export($stub, $dependencies, $module_name = NULL, $dire
    +      else if ($files_failed > 0) {
    

    elseif