I'm pretty sure this isn't a duplicate of http://drupal.org/node/403098, although it exhibits somewhat similar symptoms, but it seems that drush up removes the existing root directory, which as it were in this case is where drush was installed, so it effectively kills itself.

The end result was that the Drupal root directory was removed completely and a "drupal-7.2" directory was put in its place, but the install fails out.

Have to rebuild out the site from backup after this.

$ dr up drupal
Refreshing update status information ...
Done.
Update information last refreshed: Mon, 06/06/2011 - 21:01

Update status information on all installed and enabled Drupal projects:
Name Installed version Proposed version Status
Advanced help 7.x-1.x-dev 7.x-1.x-dev Update available
Drupal core 7.0 7.2 SECURITY UPDATE available
Chaos tool suite 7.x-1.0-alpha4 7.x-1.0-beta1 Update available
Context 7.x-3.0-alpha3 7.x-3.0-beta1 Update available
Devel 7.x-1.0 7.x-1.0 Up to date
Email Field 7.x-1.0-alpha2 7.x-1.0-beta1 Update available
Link 7.x-1.0-alpha3 Installed version not supported
Pathauto 7.x-1.0-beta1 7.x-1.0-beta1 Up to date
Textile 7.x-2.0-rc9 7.x-2.0-rc9 Up to date
Token 7.x-1.0-beta1 7.x-1.0-beta2 Update available
Views 7.x-3.0-beta3 7.x-3.0-beta3 Up to date
Kiva Unknown Unknown Project was not packaged by drupal.org
but obtained from git. You need to
enable git_deploy module

Code updates will be made to drupal core.
WARNING: Updating core will discard any modifications made to Drupal core files, most noteworthy among these are .htaccess and robots.txt. If you have made any modifications to these files, please back them up before updating so that you can re-create your modifications in the updated version of the file.
Note: Updating core can potentially break your site. It is NOT recommended to update production sites without prior testing.

Do you really want to continue? (y/n): y
Unable to include the version_control engine svn from /cms/main/drush/commands/pm/version_control. [error]

Fatal error: Class 'drush_pm_version_control_svn' not found in /cms/main/drush/commands/pm/pm.drush.inc on line 2009

Call Stack:
0.0008 119476 1. {main}() /cms/main/drush/drush.php:0
0.3349 1958728 2. drush_main() /cms/main/drush/drush.php:41
12.9720 33703592 3. drush_dispatch() /cms/main/drush/drush.php:101
12.9726 33704276 4. call_user_func_array() /cms/main/drush/includes/command.inc:204
12.9726 33704684 5. drush_command() /cms/main/drush/includes/command.inc:0
12.9731 33710712 6. call_user_func_array() /cms/main/drush/includes/command.inc:721
12.9731 33710904 7. drush_invoke() /cms/main/drush/includes/command.inc:0
12.9737 33711328 8. drush_invoke_args() /cms/main/drush/includes/command.inc:58
12.9742 33727864 9. call_user_func_array() /cms/main/drush/includes/command.inc:120
12.9742 33728276 10. drush_pm_update() /cms/main/drush/includes/command.inc:0
12.9742 33728900 11. call_user_func_array() /cms/main/drush/commands/pm/pm.drush.inc:1539
12.9742 33729380 12. drush_invoke() /cms/main/drush/commands/pm/pm.drush.inc:0
13.0116 33910368 13. drush_invoke_args() /cms/main/drush/includes/command.inc:58
13.0729 33964528 14. call_user_func_array() /cms/main/drush/includes/command.inc:120
13.0729 33964940 15. drush_pm_updatecode() /cms/main/drush/includes/command.inc:0
21.7639 35136160 16. _pm_update_core() /cms/main/drush/commands/pm/updatecode.pm.inc:175
52.8968 35157984 17. drush_pm_include_version_control() /cms/main/drush/commands/pm/updatecode.pm.inc:274

Drush command terminated abnormally due to an unrecoverable error. [error]
Error: Class 'drush_pm_version_control_svn' not found in /cms/main/drush/commands/pm/pm.drush.inc, line 2009

Comments

jonhattan’s picture

Version: All-versions-4.2 »
Status: Active » Closed (won't fix)

Well, the explanation is that drush moves temporarily everything* from /cms to /cms/drupal-7.2 in the process of updating core.

IMO is not a good practice to put drush in the drupal root and we shouldn't support it --although it is easy to explicitly do it.

* Everything but non-writable directories, so you can still live with drush in /cms/drush if you make it a readonly directory.

coderintherye’s picture

Seems reasonable enough. Thanks.