? 0001-Add-ability-to-alter-the-pipeline-so-other-modules-c.patch
? 829778-drush-features-diff.patch
? alter-pipeline.patch
? features_locking.patch
? features_logging.patch
? features_recreate_tar.patch
? features_recreate_tar.path
Index: features.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/features/features.module,v
retrieving revision 1.1.2.64
diff -u -p -r1.1.2.64 features.module
--- features.module	25 May 2010 04:20:54 -0000	1.1.2.64
+++ features.module	30 Jun 2010 18:59:32 -0000
@@ -721,3 +721,26 @@ function _features_get_roles() {
   }
   return $roles;
 }
+
+/**
+ * Log a message, environment agnostic.
+ *
+ * @param $message
+ *   The message to log.
+ * @param $severity
+ *   The severity of the message: status, warning or error.
+ */
+function features_log($message, $severity = 'status') {
+  if (function_exists('drush_verify_cli')) {
+    if ($severity == 'status') {
+      $severity = 'ok'
+    }
+    elseif ($severity == 'error') {
+      drush_set_error($message);
+      return;
+    }
+    drush_log($message, $severity);
+    return;
+  }
+  drupal_set_message($message, $severity);
+}
Index: includes/features.context.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/features/includes/features.context.inc,v
retrieving revision 1.1.2.13
diff -u -p -r1.1.2.13 features.context.inc
--- includes/features.context.inc	1 Jun 2010 03:43:27 -0000	1.1.2.13
+++ includes/features.context.inc	30 Jun 2010 18:59:32 -0000
@@ -231,7 +231,7 @@ function context_features_revert($module
     }
   }
   else {
-    drupal_set_message(t('Could not load default contexts.'), 'error');
+    features_log(t('Could not load default contexts.'), 'error');
     return FALSE;
   }
   return TRUE;
Index: includes/features.node.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/features/includes/features.node.inc,v
retrieving revision 1.1.2.17
diff -u -p -r1.1.2.17 features.node.inc
--- includes/features.node.inc	7 Feb 2010 05:04:43 -0000	1.1.2.17
+++ includes/features.node.inc	30 Jun 2010 18:59:32 -0000
@@ -147,8 +147,7 @@ function node_features_revert($module = 
     }
   }
   else {
-    drupal_set_message(t('Could not load default node types.'), 'error');
-    // drush_print(dt('Could not load default node types.'));
+    drush_log(t('Could not load default node types.'), 'error');
     return FALSE;
   }
   node_types_rebuild();
Index: includes/features.views.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/features/includes/features.views.inc,v
retrieving revision 1.1.2.16
diff -u -p -r1.1.2.16 features.views.inc
--- includes/features.views.inc	21 Dec 2009 22:25:52 -0000	1.1.2.16
+++ includes/features.views.inc	30 Jun 2010 18:59:32 -0000
@@ -166,7 +166,7 @@ function views_features_export($data, &$
             else if ($v->type == 'Default') {
               unset($export['features']['views'][$view_name]);
               $tokens = array('!view_name' => $view_name, '!module' => $m);
-              $export['conflicts']['status'][] = t('The view <strong>!view_name</strong> will not be exported with your feature because it is provided by <strong>!module</strong> which has been added as a dependency.', $tokens);
+              features_log(t('The view <strong>!view_name</strong> will not be exported with your feature because it is provided by <strong>!module</strong> which has been added as a dependency.', $tokens), 'warning');
               $export['dependencies'][$m] = $m;
             }
           }
@@ -180,7 +180,7 @@ function views_features_export($data, &$
     $message .= '<p>To resolve this problem you should either:</p>';
     $message .= '<ol><li>Revert each overridden view</li><li>Clone each view so that the modified version(s) can be exported with your feature</li></ol>';
     $tokens = array('!views' => implode(', ', $conflicts), '!modules' => implode(', ', array_keys($conflicts)));
-    $export['conflicts']['error'][] = t($message, $tokens);
+    features_log(t($message, $tokens), 'warning');
   }
 }
 
@@ -254,7 +254,7 @@ function views_features_revert($module =
     }
   }
   else {
-    drupal_set_message(t('Could not load default views.'), 'error');
+    features_log(t('Could not load default views.'), 'error');
     return FALSE;
   }
   return TRUE;
