Index: drush
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/drush,v
retrieving revision 1.7
diff -u -p -r1.7 drush
--- drush	28 Jul 2009 16:09:12 -0000	1.7
+++ drush	9 Aug 2009 06:29:34 -0000
@@ -23,6 +23,7 @@ cd "$ORIGDIR"
 
 # Build the path to drush.php.
 SCRIPT_PATH=$(dirname $SELF_PATH)/drush.php
+[[ $(uname -a) == CYGWIN* ]] && SCRIPT_PATH=$(cygpath -w -a -- "$SCRIPT_PATH")
 
 # If it is not exported determine and export the number of columns.
 if [ -z $COLUMNS ]; then
Index: includes/environment.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/includes/environment.inc,v
retrieving revision 1.38
diff -u -p -r1.38 environment.inc
--- includes/environment.inc	7 Jul 2009 23:34:53 -0000	1.38
+++ includes/environment.inc	9 Aug 2009 06:29:37 -0000
@@ -667,9 +667,14 @@ function drush_cwd() {
 
 /**
  * Converts a Windows path (dir1\dir2\dir3) into a Unix path (dir1/dir2/dir3).
+ * Also converts a cygwin "drive emulation" path (/cygdrive/c/dir1) into a
+ * proper drive path, still with Unix slashes (c:/dir1).
  */
 function _drush_convert_path($path) {
-  return str_replace('\\','/', $path);
+  $path = str_replace('\\','/', $path);
+  $path = preg_replace('/^\/cygdrive\/([A-Za-z]?)(.*)$/', '\1:\2', $path);
+
+  return $path;
 }
 
 /**
