? spaces-to-dashes-3.patch
? includes/table.inc
Index: example.drushrc.php
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/example.drushrc.php,v
retrieving revision 1.22
diff -u -p -r1.22 example.drushrc.php
--- example.drushrc.php	1 Jan 2010 07:53:11 -0000	1.22
+++ example.drushrc.php	7 Jan 2010 06:53:19 -0000
@@ -47,7 +47,7 @@
 
 /*
  * Customize this associative array with your own tables. This is the
- * list of tables that are entirely omitted by the 'sql dump' and 'sql load'
+ * list of tables that are entirely omitted by the 'sql-dump' and 'sql-sync'
  * commands when a skip-tables-key is provided. You may add new tables to the existing array or add a new
  * element.
  */
@@ -57,7 +57,7 @@ $options['skip-tables'] = array(
 
 /*
  * Customize this associative array with your own tables. This is the 
- * list of tables whose *data* is skipped by the 'sql dump' and 'sql load' 
+ * list of tables whose *data* is skipped by the 'sql-dump' and 'sql-sync' 
  * commands when a structure-tables-key is provided. You may add new tables to the existing array or add a new 
  * element.
  */
@@ -112,16 +112,16 @@ $options['structure-tables'] = array(
  * Site aliases:
  *
  * To create aliases to remote Drupal installations, add entries
- * to the site-aliases option array here.  These settings can be
+ * to the site aliases option array here.  These settings can be
  * used in place of a site specification on the command line, and
  * may also be used in arguments to certain commands such as
- * "drush sync", "drush sql sync".
+ * "drush rsync" and "drush sql-sync".
  *
  * Each entry in the 'site-aliases' array is accessed by its
  * site alias (e.g. 'stage' or 'dev').  Only the 'uri' and 'root'
  * items are required, and most alias records use only a few of
  * the optional keys, if any.  A simple alias record can be generated
- * using the "drush --full site alias" command.
+ * using the "drush --full site-alias" command.
  *
  * The following settings are stored in the site alias record:
  *
@@ -153,7 +153,7 @@ $options['structure-tables'] = array(
  *       default is 'drush' on remote machines, or the full path to drush.php on
  *       the local machine.  Note that you only need to define one of '!drush' 
  *       or '!drush-script', as drush can infer one from the other.
- *     '!dump': Path to the file that "drush sql sync" should use to store sql dump file.
+ *     '!dump': Path to the file that "drush sql-sync" should use to store sql-dump file.
  *     '!files': Path to 'files' directory.
  *
  * Remove the leading hash signs to enable.
Index: commands/core/clear.cache.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/commands/core/clear.cache.inc,v
retrieving revision 1.4
diff -u -p -r1.4 clear.cache.inc
--- commands/core/clear.cache.inc	7 Jan 2010 05:18:41 -0000	1.4
+++ commands/core/clear.cache.inc	7 Jan 2010 06:53:19 -0000
@@ -1,7 +1,7 @@
 <?php
 
 /**
- * Command callback for drush cache clear.
+ * Command callback for drush cache-clear.
  */
  function drush_core_cache_clear($type = NULL) {
   switch (drush_drupal_major_version()) {
Index: commands/core/core.drush.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/commands/core/core.drush.inc,v
retrieving revision 1.67
diff -u -p -r1.67 core.drush.inc
--- commands/core/core.drush.inc	7 Jan 2010 05:18:41 -0000	1.67
+++ commands/core/core.drush.inc	7 Jan 2010 06:53:19 -0000
@@ -65,25 +65,25 @@ function core_drush_command() {
       '--script-path' => "Additional paths to search for scripts.  Use POSIX path separator (':') for multiple paths.",
     ),
   );
-  $items['cache clear'] = array(
+  $items['cache-clear'] = array(
     'description' => 'Clear a specific cache, or all drupal caches.',
     'arguments' => array(
       'type' => 'The particular cache to clear. Omit this argument to choose from available caches.',
     ),
     'aliases' => array('cc'),
   );
-  $items['search status'] = array(
+  $items['search-status'] = array(
     'description' => 'Show how many items remain to be indexed out of the total.',
     'drupal dependencies' => array('search'),
     'options' => array(
       '--pipe' => 'Display in the format remaining/total for processing by scripts.',
     ),
   );
-  $items['search index'] = array(
+  $items['search-index'] = array(
     'description' => 'Index the remaining search items without wiping the index.',
     'drupal dependencies' => array('search'),
   );
-  $items['search reindex'] = array(
+  $items['search-reindex'] = array(
     'description' => 'Force the search index to be rebuilt.',
     'drupal dependencies' => array('search'),
     'options' => array(
@@ -94,8 +94,8 @@ function core_drush_command() {
     'description' => 'Rsync the Drupal tree to/from another server using ssh.  Relative paths start from the Drupal root folder if a site alias is used; otherwise they start from the current working directory.',
     'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_CONFIGURATION,
     'arguments' => array(
-      'source' => 'May be rsync path or site alias.  See rsync documentation and example.drushrc.php.',
-      'destination' => 'May be rsync path or site alias.  See rsync documentation and example.drushrc.php.',
+      'source' => 'May be rsync path or site alias. See rsync documentation and example.drushrc.php.',
+      'destination' => 'May be rsync path or site alias. See rsync documentation and example.drushrc.php.',
     ),
     'options' => array(
       '--mode' => 'The unary flags to pass to rsync; --mode=rultz implies rsync -rultz.  Default is -az.',
@@ -110,7 +110,7 @@ function core_drush_command() {
       'rsync --all-paths --exclude-conf dev stage' => 'Rsync Drupal root and all other paths from dev to stage for every path alias defined in both dev and stage.',
       'rsync ./ stage:!files/img' => 'Rsync all files in the current directory to the \'img\' directory in the file storage folder on stage.',
     ),
-    'aliases' => array('sync'),
+    'deprecated-aliases' => array('sync'),
   );
   $items['eval'] = array(
     'description' => 'Evaluate arbitrary php code after bootstrapping Drupal.',
@@ -267,13 +267,13 @@ function core_drush_help($section) {
       return dt("View the Drupal version and DB credentials for the current site.");
     case 'drush:script':
       return dt("Runs the given php script(s) after a full Drupal bootstrap. A useful alternative to eval command when your php is lengthy or you can't be bothered to figure out bash quoting. if you plan to share a script with others, consider making a full drush command instead since thats more self-documenting.");
-    case 'drush:cache clear':
+    case 'drush:cache-clear':
       return dt("Delete a specific drupal cache, or all caches.");
-    case 'drush:search status':
+    case 'drush:search-status':
       return dt("Show how many items remain to be indexed for search, and the total number of items.");
-    case 'drush:search index':
+    case 'drush:search-index':
       return dt("Index the remaining search items.");
-    case 'drush:search reindex':
+    case 'drush:search-reindex':
       return dt("Force the search index to be rebuilt.");
     case 'drush:updatedb':
       return dt("Run update.php just as a web browser would.");
Index: commands/core/sitealias.drush.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/commands/core/sitealias.drush.inc,v
retrieving revision 1.8
diff -u -p -r1.8 sitealias.drush.inc
--- commands/core/sitealias.drush.inc	10 Dec 2009 20:21:45 -0000	1.8
+++ commands/core/sitealias.drush.inc	7 Jan 2010 06:53:19 -0000
@@ -8,7 +8,7 @@
 
 function sitealias_drush_help($section) {
   switch ($section) {
-    case 'drush:site alias':
+    case 'drush:site-alias':
       return dt('Print an alias record.');
   }
 }
@@ -16,7 +16,7 @@ function sitealias_drush_help($section) 
 function sitealias_drush_command() {
   $items = array();
 
-  $items['site alias'] = array(
+  $items['site-alias'] = array(
     'callback' => 'drush_sitealias_print',
     'description' => 'Print site alias records for all known site aliases and local sites.',
     'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_ROOT,
@@ -34,8 +34,8 @@ function sitealias_drush_command() {
     ),
     'aliases' => array('sa'),
     'examples' => array(
-      'drush site alias' => 'Print an alias record for the default site.',
-      'drush site alias dev' => 'Print an alias record for the alias \'dev\'.',
+      'drush site-alias' => 'Print an alias record for the default site.',
+      'drush site-alias dev' => 'Print an alias record for the alias \'dev\'.',
     ),
   );
   return $items;
Index: commands/core/variable.drush.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/commands/core/variable.drush.inc,v
retrieving revision 1.12
diff -u -p -r1.12 variable.drush.inc
--- commands/core/variable.drush.inc	7 Jan 2010 05:18:41 -0000	1.12
+++ commands/core/variable.drush.inc	7 Jan 2010 06:53:19 -0000
@@ -15,11 +15,11 @@
  */
 function variable_drush_help($section) {
   switch ($section) {
-    case 'drush:variable get':
+    case 'drush:variable-get':
       return dt("Lists the variables for your site");
-    case 'drush:variable set':
+    case 'drush:variable-set':
       return dt("Set a variable");
-    case 'drush:variable delete':
+    case 'drush:variable-delete':
       return dt("Delete a variable.");
   }
 }
@@ -39,7 +39,7 @@ function variable_drush_help($section) {
  *   An associative array describing your command(s).
  */
 function variable_drush_command() {
-  $items['variable get'] = array(
+  $items['variable-get'] = array(
     'description' => 'Get a list of some or all site variables and values.',
     'arguments' => array(
       'name' => 'A string to filter the variables by.  Only variables beginning with the string will be listed.',
@@ -53,7 +53,7 @@ function variable_drush_command() {
     ),
     'aliases' => array('vget'),
   );
-  $items['variable set'] = array(
+  $items['variable-set'] = array(
     'description' => "Set a variable.",
     'arguments' => array(
       'name' => 'The name of a variable or the first few letters of its name.',
@@ -70,7 +70,7 @@ function variable_drush_command() {
     ),
     'aliases' => array('vset'),
   );
-  $items['variable delete'] = array(
+  $items['variable-delete'] = array(
     'description' => "Delete a variable.",
     'arguments' => array(
       'name' => 'The name of a variable or the first few letters of its name.',
Index: commands/core/watchdog.drush.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/commands/core/watchdog.drush.inc,v
retrieving revision 1.2
diff -u -p -r1.2 watchdog.drush.inc
--- commands/core/watchdog.drush.inc	1 Jan 2010 17:02:49 -0000	1.2
+++ commands/core/watchdog.drush.inc	7 Jan 2010 06:53:19 -0000
@@ -2,15 +2,15 @@
 
 function watchdog_drush_help($section) {
   switch ($section)  {
-    case 'drush:watchdog show':
+    case 'drush:watchdog-show':
       return dt("Show recent watchdog messages.");
-    case 'drush:watchdog delete':
+    case 'drush:watchdog-delete':
       return dt("Delete watchdog messages.");
   }
 }
 
 function watchdog_drush_command() {
-  $items['watchdog show'] = array(
+  $items['watchdog-show'] = array(
     'description' => 'Shows recent watchdog log messages. Optionally filter for a specific type.',
     'drupal dependencies' => drush_drupal_major_version() >= 6 ? array('dblog') : array('watchdog'),
     'arguments' => array(
@@ -21,21 +21,21 @@ function watchdog_drush_command() {
       '--severity' => 'Restrict to a given severity level. Error=0, Warning=4.',
     ),
     'examples' => array(
-      'watchdog show cron' => 'Show recent cron watchdog messages.',
-      'watchdog show --severity=0' => 'Show recent error messages.',
-      'watchdog show --limit=50' => 'Show 50 recent watchdog messages.',
+      'watchdog-show cron' => 'Show recent cron watchdog messages.',
+      'watchdog-show --severity=0' => 'Show recent error messages.',
+      'watchdog-show --limit=50' => 'Show 50 recent watchdog messages.',
     ),
     'aliases' => array('ws'),
   );
-  $items['watchdog delete'] = array(
+  $items['watchdog-delete'] = array(
     'description' => 'Delete all messages or only those of a specified type.',
     'arguments' => array(
       'type' => 'The type of messages to delete. Use \'all.\' to do a complete wipe.',
     ),
     'drupal dependencies' => drush_drupal_major_version() >= 6 ? array('dblog') : array('watchdog'),
     'examples' => array(
-      'watchdog delete all' => 'Delete all watchdog messages.',
-      'watchdog delete cron' => 'Delete all cron watchdog messages.',
+      'watchdog-delete all' => 'Delete all watchdog messages.',
+      'watchdog-delete cron' => 'Delete all cron watchdog messages.',
     ),
     'aliases' => array('wd'),
   );
Index: commands/simpletest/simpletest.drush.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/commands/simpletest/simpletest.drush.inc,v
retrieving revision 1.4
diff -u -p -r1.4 simpletest.drush.inc
--- commands/simpletest/simpletest.drush.inc	6 Dec 2009 12:53:38 -0000	1.4
+++ commands/simpletest/simpletest.drush.inc	7 Jan 2010 06:53:20 -0000
@@ -10,9 +10,9 @@
  */
 function simpletest_drush_help($section) {
   switch ($section) {
-    case 'drush:test mail':
+    case 'drush:test-mail':
       return dt("Run tests and email the results. See the docs for run-tests.sh to understand --extra.");
-  case 'drush:test clean':
+  case 'drush:test-clean':
     return dt("Clean leftover tables and file directories from prior test runs.");
   }
 }
@@ -21,12 +21,12 @@ function simpletest_drush_help($section)
  * Implementation of hook_drush_command().
  */
 function simpletest_drush_command() {
-  $items['test mail'] = array(
+  $items['test-mail'] = array(
     'callback' => 'drush_test_mail',
     'description' => 'Run all tests and mail the results to your team.',
     'examples' => array(
-       "drush test mail me@example.com --extra=\"--class BlockTestCase\"" => "Run block tests & email to me.",
-       "drush test mail me@example.com --extra=\"--all\"" => "Run all tests & email to me.",
+       "drush test-mail me@example.com --extra=\"--class BlockTestCase\"" => "Run block tests & email to me.",
+       "drush test-mail me@example.com --extra=\"--all\"" => "Run all tests & email to me.",
     ),
     'arguments' => array(
       'recipients' => 'A comma delimited list of email addrresses.',
@@ -38,13 +38,13 @@ function simpletest_drush_command() {
     'drupal dependencies' => array('simpletest'),
     'core' => array('6','7'),
   );
-  $items['test clean'] = array(
+  $items['test-clean'] = array(
     'callback' => 'drush_test_clean',
     'description' => 'Delete leftover tables and files from prior test runs.',
     'drupal dependencies' => array('simpletest'),
     'core' => array('6','7'),
   );
-  $items['test drush'] = array(
+  $items['test-drush'] = array(
     'callback' => 'drush_test_drush',
     'description' => 'Run drush-specific tests',
     'bootstrap' => DRUSH_BOOTSTRAP_DRUSH,
Index: commands/sql/sql.drush.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/commands/sql/sql.drush.inc,v
retrieving revision 1.33
diff -u -p -r1.33 sql.drush.inc
--- commands/sql/sql.drush.inc	14 Dec 2009 22:08:44 -0000	1.33
+++ commands/sql/sql.drush.inc	7 Jan 2010 06:53:20 -0000
@@ -10,18 +10,18 @@
  */
 function sql_drush_help($section) {
   switch ($section) {
-    case 'drush:sql conf':
+    case 'drush:sql-conf':
       return dt('Show database connection details.');
-    case 'drush:sql connect':
+    case 'drush:sql-connect':
       return dt('A string which connects to the current database.');
-    case 'drush:sql cli':
+    case 'drush:sql-cli':
       return dt('Quickly enter the mysql command line.');
-    case 'drush:sql dump':
+    case 'drush:sql-dump':
       return dt('Prints the whole database to STDOUT or save to a file.');
-    case 'drush:sql query':
-      return dt("Usage: drush [options] sql query <query>...\n<query> is a SQL statement, which can alternatively be passed via STDIN. Any additional arguments are passed to the mysql command directly.");
-    case 'drush:sql sync':
-      return dt("Usage: drush [options] sql sync <source_alias> <target_alias>.\n <source_alias> and <target_alias> are site aliases, or names of directories under \'sites\'. These determine from where and to where you want your database copied.");
+    case 'drush:sql-query':
+      return dt("Usage: drush [options] sql-query <query>...\n<query> is a SQL statement, which can alternatively be passed via STDIN. Any additional arguments are passed to the mysql command directly.");
+    case 'drush:sql-sync':
+      return dt("Usage: drush [options] sql-sync <source_alias> <target_alias>.\n <source_alias> and <target_alias> are site-aliases, or names of directories under \'sites\'. These determine from where and to where you want your database copied.");
   }
 }
 
@@ -34,39 +34,39 @@ function sql_drush_command() {
     $options['--target'] = 'The name of a target within the specified database.';
   }
 
-  $items['sql conf'] = array(
+  $items['sql-conf'] = array(
     'callback' => 'drush_sql_conf',
     'description' => 'Print database connection details.',
     'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_CONFIGURATION,
     'options' => $options,
   );
-  $items['sql connect'] = array(
+  $items['sql-connect'] = array(
     'callback' => 'drush_sql_connect',
     'description' => 'A string for connecting to the DB.',
     'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_CONFIGURATION,
     'options' => $options,
   );
-  $items['sql dump'] = array(
+  $items['sql-dump'] = array(
     'callback' => 'drush_sql_dump_execute',
     'description' => 'Exports the Drupal DB as SQL using mysqldump.',
     'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_CONFIGURATION,
     'examples' => array(
-      'drush sql dump --result-file=../18.sql' => 'Save SQL dump to the directory above Drupal root.',
-      'drush sql dump --skip-tables-key=common' => 'Skip standard tables. @see example.drushrc.com',
+      'drush sql-dump --result-file=../18.sql' => 'Save SQL dump to the directory above Drupal root.',
+      'drush sql-dump --skip-tables-key=common' => 'Skip standard tables. @see example.drushrc.com',
     ),
     'options' => array(
       '--result-file' => 'Save to a file. The file should be relative to Drupal root. Recommended.',
       '--skip-tables-key' => 'A key in the $skip_tables array. @see example.drushrc.php. Optional.',
       '--structure-tables-key' => 'A key in the $structure_tables array. @see example.drushrc.php. Optional.',
-      '--ordered-dump' => 'Use this option to output ordered INSERT statements in the sql dump. Useful when backups are managed in a Version Control System. Optional.',
+      '--ordered-dump' => 'Use this option to output ordered INSERT statements in the sql-dump.Useful when backups are managed in a Version Control System. Optional.',
     ) + $options,
   );
-  $items['sql query'] = array(
+  $items['sql-query'] = array(
     'callback' => 'drush_sql_query',
     'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_DATABASE,
     'description' => 'Execute a query against the site database.',
     'examples' => array(
-      'drush sql query "SELECT * FROM {users} WHERE uid=1"' => 'Browse user record',
+      'drush sql-query "SELECT * FROM {users} WHERE uid=1"' => 'Browse user record',
     ),
     'arguments' => array(
        'query' => 'A SQL query. Mandatory.',
@@ -74,25 +74,25 @@ function sql_drush_command() {
     'options' => $options,
     'aliases' => array('sqlq'),
   );
-  $items['sql sync'] = array(
+  $items['sql-sync'] = array(
     'description' => 'Copy source database to target database using rsync.',
     'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_CONFIGURATION,
     'examples' => array(
-      'drush sql sync prod dev' => 'Copy the DB defined in sites/prod to the DB in sites/dev.',
+      'drush sql-sync prod dev' => 'Copy the DB defined in sites/prod to the DB in sites/dev.',
     ),
     'arguments' => array(
-      'from' => 'Name of subdirectory within /sites or a site alias.',
-      'to' => 'Name of subdirectory within /sites or a site alias.',
+      'from' => 'Name of subdirectory within /sites or a site-alias.',
+      'to' => 'Name of subdirectory within /sites or a site-alias.',
     ),
     'options' => array(
       '--skip-tables-key' => 'A key in the $skip_tables array. @see example.drushrc.php. Optional.',
       '--structure-tables-key' => 'A key in the $structure_tables array. @see example.drushrc.php. Optional.',
       '--cache' => 'Skip dump if result file exists and is less than "cache" hours old. Optional; default is 24 hours.',
-      '--no-cache' => 'Do not cache the sql dump file.',
+      '--no-cache' => 'Do not cache the sql-dump file.',
       '--no-dump' => 'Do not dump the sql database; always use an existing dump file.',
       '--source-db-url' => 'Database specification for source system to dump from.',
       '--source-remote-port' => 'Override sql database port number in source-db-url. Optional.',
-      '--source-remote-host' => 'Remote machine to run sql dump file on. Optional; default is local machine.',
+      '--source-remote-host' => 'Remote machine to run sql-dump file on. Optional; default is local machine.',
       '--source-dump' => 'Path to dump file. Optional; default is to create a temporary file.',
       '--target-db-url' => '',
       '--target-remote-port' => '',
@@ -105,12 +105,12 @@ function sql_drush_command() {
   );
   if (drush_drupal_major_version() >= 7) {
 
-    $items['sql sync']['options'] += array(
+    $items['sql-sync']['options'] += array(
       '--source-target' => 'The name of a target within the SOURCE database.',
       '--destination-target' => 'The name of a target within the specified DESTINATION database.',
     );
   }
-  $items['sql cli'] = array(
+  $items['sql-cli'] = array(
     'callback' => 'drush_sql_cli',
     'description' => "Open a SQL command-line interface using Drupal's credentials.",
     'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_CONFIGURATION,
@@ -180,7 +180,7 @@ function drush_sql_dump_execute() {
 function drush_sql_dump($db_spec = NULL) {
   $ignores = array();
 
-  // Skip large core tables if instructed.  Also used by 'sql load' command.
+  // Skip large core tables if instructed.  Also used by 'sql-sync' command.
   $skip_tables = _drush_sql_get_table_list('skip-tables');
   // Skip any structure-tables as well.
   $structure_tables = _drush_sql_get_table_list('structure-tables');
@@ -393,13 +393,13 @@ function _drush_sql_get_db_spec() {
       return drush_convert_db_from_db_url($url);
 
     default:
-      // We don't use DB API here `sql load` would have to messily addConnection.
+      // We don't use DB API here `sql-sync` would have to messily addConnection.
       return $GLOBALS['databases'][$database][$target];
   }
 }
 
 
-// Build a $db_spec from a given site alias
+// Build a $db_spec from a given site-alias
 function _drush_sql_get_spec_from_site_alias($alias, $prefix) {
   global $db_url;
   $all_site_aliases = drush_get_option('site-aliases', array());
@@ -418,7 +418,7 @@ function _drush_sql_get_spec_from_settin
   global $databases, $db_url;
   require $file;
 
-  // Translate the custom options for sql load into ones usually recognized (i.e. no prefix).
+  // Translate the custom options for sql-sync into ones usually recognized (i.e. no prefix).
   if ($database = drush_get_option($prefix . 'database')) {
     drush_set_option('database', $database);
   }
@@ -458,7 +458,7 @@ function _drush_sql_get_scheme($db_spec 
 }
 
 /**
- * Build a fragment containing credentials and mysql connection parameters.
+ * Build a fragment containing credentials and mysql-connection parameters.
  *
  * @param $db_spec
  * @return string
Index: commands/sql/sync.sql.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/commands/sql/sync.sql.inc,v
retrieving revision 1.8
diff -u -p -r1.8 sync.sql.inc
--- commands/sql/sync.sql.inc	28 Dec 2009 23:18:37 -0000	1.8
+++ commands/sql/sync.sql.inc	7 Jan 2010 06:53:20 -0000
@@ -43,7 +43,7 @@ function _drush_sql_sync($source, $desti
   // The options from the 'source-*' and 'target-*' aliases are set
   // in a drush context that has a lower priority than the command-line
   // options; this allows command-line options to override the default
-  // values specified in a site alias.
+  // values specified in a site-alias.
   drush_sitealias_set_alias_context($source_settings, 'source-');
   drush_sitealias_set_alias_context($destination_settings, 'target-');
 
@@ -104,7 +104,7 @@ function _drush_sql_sync($source, $desti
   // Check to see if we are using a temporary file in a situation
   // where the user did not specify "--temp".
   if (($source_is_tmp || $target_is_tmp) && (!isset($use_temp_files)) && (isset($source_remote_host)  || isset($target_remote_host))) {
-    drush_print(dt('WARNING:  Using temporary files to store and transfer sql dump.  It is recommended that you specify --source-dump and --target-dump options on the command line, or set \'!dump\' in the path-aliases section of your site alias records. This facilitates fast file transfer via rsync.'));
+    drush_print(dt('WARNING:  Using temporary files to store and transfer sql-dump. It is recommended that you specify --source-dump and --target-dump options on the command line, or set \'!dump\' in the path-aliases section of your site alias records. This facilitates fast file transfer via rsync.'));
   }
 
   // Prompt for confirmation. This is destructive.
@@ -131,13 +131,13 @@ function _drush_sql_sync($source, $desti
 
   // If source is remote, then use ssh to dump the database and then rsync to local machine
   // If source is local, call drush_sql_dump to dump the database to local machine
-  // In either case, the '--no-dump' option will cause the sql dump step to be skipped, and
+  // In either case, the '--no-dump' option will cause the sql-dump step to be skipped, and
   // we will import from the existing local file (first using rsync to fetch it if it does not exist)
   //
-  // No dump affects both local and remote sql dumps; it prevents drush sql sync
-  // from calling sql dump when the local cache file is newer than the cache threshhold
-  // No sync affects the remote sql dump; it will prevent drush sql sync from
-  // rsyncing the local sql dump file with the remote sql dump file.
+  // No dump affects both local and remote sql-dumps; it prevents drush sql-sync
+  // from calling sql-dump when the local cache file is newer than the cache threshhold
+  // No sync affects the remote sql-dump;it will prevent drush sql-sync from
+  // rsyncing the local sql-dump file with the remote sql-dump file.
   $no_sync = drush_get_option(array('no-sync', 'source-no-sync'));
   $no_dump = drush_get_option(array('no-dump', 'source-no-dump'));
   $no_cache = drush_get_option(array('no-cache', 'source-no-cache'));
@@ -203,13 +203,13 @@ function _drush_sql_sync($source, $desti
     $no_sync = TRUE;
   }
 
-  // Call sql dump, either on the local machine or remotely via ssh, as appropriate.
+  // Call sql-dump,either on the local machine or remotely via ssh, as appropriate.
   if (!empty($dump_exec)) {
     drush_op('system', $dump_exec);
     // TODO: IF FAILURE THEN ABORT
   }
 
-  // If the sql dump was remote, then rsync the file over to the local machine.
+  // If the sql-dump was remote, then rsync the file over to the local machine.
   if (!isset($no_sync)) {
     // If the source file is a temporary file, then we will have rsync
     // delete it for us (remove-source-files option set above).
Index: includes/command.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/includes/command.inc,v
retrieving revision 1.50
diff -u -p -r1.50 command.inc
--- includes/command.inc	6 Jan 2010 15:04:03 -0000	1.50
+++ includes/command.inc	7 Jan 2010 06:53:21 -0000
@@ -101,6 +101,7 @@ function drush_get_commands() {
           'options' => array(),
           'examples' => array(),
           'aliases' => array(),
+          'deprecated-aliases' => array(),
           'extras' => array(),
           'core' => array(),
           'scope' => 'site',
@@ -108,18 +109,40 @@ function drush_get_commands() {
           'drush dependencies' => array(),
           'bootstrap_errors' => array(),
         );
+        // Enforce the no-spaces in command names rule
+        if (strpos($key, ' ') !== FALSE) {
+          $command['must-replace-spaces'] = TRUE;
+        }
+        // Temporary:  if there is a dash in the command name,
+        // then make a deprecated alias that has a space in the name.
+        if (strpos($key, '-') !== FALSE) {
+          $command['deprecated-aliases'][] = str_replace('-', ' ', $key);
+        }
+        
         // Collect all the commands (without filtering) so we can match non-executable
         // commands, and later explain why they are not executable.
         drush_enforce_requirement_bootstrap_phase($command);
         drush_enforce_requirement_core($command);
         drush_enforce_requirement_drupal_dependencies($command);
         $commands[$key] = $command;
+        // For every alias, make a copy of the command and store it in the command list
+        // using the alias as a key
         if (isset($command['aliases']) && count($command['aliases'])) {
           foreach ($command['aliases'] as $alias) {
             $commands[$alias] = $command;
             $commands[$alias]['is_alias'] = TRUE;
           }
         }
+        // Do the same operation on the deprecated aliases.
+        if (isset($command['deprecated-aliases']) && count($command['deprecated-aliases'])) {
+          foreach ($command['deprecated-aliases'] as $alias) {
+            $commands[$alias] = $command;
+            $commands[$alias]['is_alias'] = TRUE;
+            $commands[$alias]['deprecated'] = TRUE;
+            $commands[$alias]['deprecated-name'] = $alias;
+          }
+        }
+        
       }
     }
   }
@@ -218,7 +241,7 @@ function drush_invoke($command) {
   array_shift($args);
 
 
-  $hook = str_replace(" ", "_", $command);
+  $hook = str_replace("-", "_", $command);
   $list = drush_commandfile_list();
 
   $functions = array();
@@ -277,7 +300,7 @@ function drush_invoke($command) {
 function drush_command() {
   $args = func_get_args();
   $command = drush_get_command();
-  drush_command_default_options($command);
+
   foreach (drush_command_implements("drush_init") as $name) {
     $func = $name . '_drush_init';
     drush_log(dt("Initializing drush commandfile: !name", array('!name' => $name)), 'bootstrap');
Index: includes/drush.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/includes/drush.inc,v
retrieving revision 1.73
diff -u -p -r1.73 drush.inc
--- includes/drush.inc	7 Jan 2010 05:18:41 -0000	1.73
+++ includes/drush.inc	7 Jan 2010 06:53:21 -0000
@@ -24,6 +24,18 @@ function drush_dispatch($command = NULL)
   $return = FALSE;
 
   if ($command) {
+    // Add command-specific options, if applicable
+    drush_command_default_options($command);
+    
+    if (isset($command['must-replace-spaces'])) {
+      $required_name = str_replace(' ', '-', $command['command']);
+      drush_print(dt('Notice: "!name" must be renamed to "!requiredname" in order to work with this version of drush.', array('!name' => $command['command'], '!requiredname' => $required_name)));
+      return FALSE;
+    }
+    // Print a warning if someone tries to use a deprecated alias.
+    if (isset($command['deprecated'])) {
+      drush_print(dt('Warning: The command name "!deprecated" is deprecated.  Please use a recommended form instead (!recommended).', array('!deprecated' => $command['deprecated-name'], '!recommended' => implode(',', array_merge(array($command['command']), $command['aliases'])))));
+    }
     // Call the callback function of the active command.
     $return = call_user_func_array($command['callback'], $command['arguments']);
   }
@@ -201,7 +213,7 @@ function drush_drupal_version() {
 function drush_drupal_cache_clear_all() {
   $prior = drush_get_context('DRUSH_AFFIRMATIVE');
   drush_set_context('DRUSH_AFFIRMATIVE', TRUE);
-  drush_invoke('cache clear', 'all');
+  drush_invoke('cache-clear', 'all');
   drush_set_context('DRUSH_AFFIRMATIVE', $prior);
 }
 
Index: includes/sitealias.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/includes/sitealias.inc,v
retrieving revision 1.10
diff -u -p -r1.10 sitealias.inc
--- includes/sitealias.inc	28 Dec 2009 03:47:39 -0000	1.10
+++ includes/sitealias.inc	7 Jan 2010 06:53:22 -0000
@@ -81,7 +81,7 @@ function drush_sitealias_get_record($ali
           if (array_key_exists('remote-host', $alias_record)) {
             $data = array('root' => $alias_record['path-aliases']['!root'], 'uri' => $alias_record['uri'], 'all' => TRUE);
             $args = array();
-            $values = drush_backend_invoke_args("sql conf", $args, $data, 'GET', FALSE, $alias_record['path-aliases']['!drush-script'], $alias_record['remote-host'], $alias_record['remote-user']);
+            $values = drush_backend_invoke_args("sql-conf", $args, $data, 'GET', FALSE, $alias_record['path-aliases']['!drush-script'], $alias_record['remote-host'], $alias_record['remote-user']);
             $alias_record['databases'] = $values['object'];
           }
           // If the alias record is for a local machine, then look up and
@@ -231,7 +231,7 @@ function _drush_sitealias_find_record_fo
   // This function may be called during the drush bootstrap
   // (i.e., from drush_sitealias_check_arg()), when 'DRUSH_DRUPAL_ROOT'
   // has not been set.  It may also be called after bootstraping
-  // has finished (e.g. to process an argument from sync or sql sync)
+  // has finished (e.g. to process an argument from sync or sql-sync)
   // when it would be wasteful to call drush_locate_root again.
   // If we find an alias or site specification during drush_sitealias_check_arg(),
   // then we will set the 'root' option.  If we do not, though,
