? includes/table.inc
Index: commands/core/rsync.core.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/commands/core/rsync.core.inc,v
retrieving revision 1.6
diff -u -p -r1.6 rsync.core.inc
--- commands/core/rsync.core.inc	10 Nov 2010 02:55:41 -0000	1.6
+++ commands/core/rsync.core.inc	17 Nov 2010 18:51:57 -0000
@@ -212,9 +212,22 @@ function drush_core_call_rsync($source, 
     'out-format',
     'protocol',
     );
+  // Check if the user has set $options['rsync-version'] to enable rsync legacy version support.
+  // Drush was written for rsync 2.6.9 or later, so assume that version if nothing was explicitly set.
+  $rsync_version = drush_get_option(array('rsync-version','source-rsync-version','target-rsync-version'), '2.6.9');
   foreach ($rsync_available_options as $test_option) {
     $value = drush_get_option_override($additional_options, $test_option);
-    if (isset($value)) {
+    // Downgrade some options for older versions of rsync
+    if ($test_option == 'remove-source-files') {
+      if (version_compare($rsync_version, '2.6.4', '<')) {
+        $test_option = NULL;
+        drush_log('Rsync does not support --remove-sent-files prior to version 2.6.4; some temporary files may remain undeleted.', 'warning');
+      }
+      elseif (version_compare($rsync_version, '2.6.9', '<')) {
+        $test_option = 'remove-sent-files';
+      }
+    }
+    if ((isset($test_option)) && (isset($value))) {
       if ($value === TRUE) {
         $options .= " --$test_option";
       }
Index: examples/example.drushrc.php
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/examples/example.drushrc.php,v
retrieving revision 1.10
diff -u -p -r1.10 example.drushrc.php
--- examples/example.drushrc.php	28 Oct 2010 19:50:21 -0000	1.10
+++ examples/example.drushrc.php	17 Nov 2010 18:51:57 -0000
@@ -89,6 +89,19 @@
 // Specify options to pass to ssh in backend invoke. (Default is to prohibit password authentication; uncomment to change)
 # $options['ssh-options'] = '-o PasswordAuthentication=no';
 
+// rsync version 2.6.8 or earlier will give an error message:
+// "--remove-source-files: unknown option".  To fix this, set
+// $options['rsync-version'] = '2.6.8'; (replace with the lowest
+// version of rsync installed on any system you are using with
+// drush).  Note that drush requires at least rsync version 2.6.4
+// for some functions to work correctly.
+// 
+// Note that this option can also be set in a site alias.  This
+// is preferable if newer versions of rsync are available on some
+// of the systems you use.
+// See: http://drupal.org/node/955092
+# $options['rsync-version'] = '2.6.9';
+
 /*
 * The output charset suitable to pass to iconv PHP function as out_charset
 * parameter. Drush will convert its output from UTF-8 to the charset specified
