? includes/table.inc
Index: commands/core/variable.drush.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/commands/core/variable.drush.inc,v
retrieving revision 1.9
diff -u -p -r1.9 variable.drush.inc
--- commands/core/variable.drush.inc	14 Dec 2009 21:50:07 -0000	1.9
+++ commands/core/variable.drush.inc	25 Dec 2009 06:53:46 -0000
@@ -61,6 +61,7 @@ function variable_drush_command() {
     ),
     'options' => array(
       '--yes' => 'Skip confirmation if only one variable name matches.',
+      '--force' => 'Force a new variable to be set if it doesn\'t exist.',
     ),
     'examples' => array(
       'drush vset --yes preprocess_css 1' => 'Set the preprocess_css variable to true. Skip confirmation.',
@@ -144,6 +145,11 @@ function drush_variable_variable_set() {
     drush_log(dt('!name was set to !value.', array('!name' => $args[0], '!value' => $value)), 'success');
     return '';
   }
+  elseif (drush_get_context('DRUSH_FORCE_NEW')) {
+    variable_set($args[0], $value);
+    drush_log(dt('!name was set to !value.', array('!name' => $args[0], '!value' => $value)), 'success');
+    return '';
+  }
   else {
     $choice = drush_choice($options, 'Enter a number to choose which variable to set.');
     if ($choice !== FALSE) {
Index: includes/drush.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/includes/drush.inc,v
retrieving revision 1.65
diff -u -p -r1.65 drush.inc
--- includes/drush.inc	22 Dec 2009 22:30:42 -0000	1.65
+++ includes/drush.inc	25 Dec 2009 06:53:47 -0000
@@ -319,7 +319,8 @@ function drush_get_option_help() {
   $options['-d, --debug']              = dt('Display even more information, including internal messages.');
   $options['-q, --quiet']              = dt('Hide all output');
   $options['-y, --yes']                = dt("Assume 'yes' as answer to all prompts");
-  $options['-n, --no']                = dt("Assume 'no' as answer to all prompts");
+  $options['-n, --no']                 = dt("Assume 'no' as answer to all prompts");
+  $options['--force']                  = dt("Force operations to complete without prompting (implies --yes).");
   $options['-s, --simulate']           = dt("Simulate all relevant actions (don't actually change the system)");
   $options['-i, --include']            = dt("A list of paths to search for drush commands");
   $options['-c, --config']             = dt("Specify a config file to use. See example.drushrc.php");
Index: includes/environment.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/includes/environment.inc,v
retrieving revision 1.59
diff -u -p -r1.59 environment.inc
--- includes/environment.inc	15 Dec 2009 03:17:57 -0000	1.59
+++ includes/environment.inc	25 Dec 2009 06:53:47 -0000
@@ -441,9 +441,10 @@ function _drush_bootstrap_drush() {
   drush_set_context('DRUSH_DEBUG', drush_get_option(array('d', 'debug')));
 
 
-  // Backend implies affirmative
-  drush_set_context('DRUSH_AFFIRMATIVE', drush_get_option(array('y', 'yes', 'b', 'backend'), FALSE));
+  // Backend implies affirmative, as does 'force'
+  drush_set_context('DRUSH_AFFIRMATIVE', drush_get_option(array('y', 'yes', 'b', 'backend', 'force'), FALSE));
   drush_set_context('DRUSH_NEGATIVE',    drush_get_option(array('n', 'no'), FALSE));
+  drush_set_context('DRUSH_FORCE_NEW',   drush_get_option(array('force'), FALSE));
   drush_set_context('DRUSH_SIMULATE',    drush_get_option(array('s', 'simulate'), FALSE));
 
   // Suppress colored logging if --nocolor option is explicitly given or if
