Closed (fixed)
Project:
Drush
Version:
All-versions-4.x-dev
Component:
PM (dl, en, up ...)
Priority:
Normal
Category:
Bug report
Assigned:
Reporter:
Created:
21 Feb 2012 at 19:44 UTC
Updated:
4 Jun 2012 at 14:11 UTC
Running
______@webmirror:/opt/drush$ drush @dev up drupal
Gives me
Source directory /var/www/html/cfide is not readable or does not exist. [error]
Project drupal was updated successfully. Installed version is now 6.24.
Backups were saved into the directory /var/www/backup/drupal/20120221193501/drupal. [ok]
Backups were restored successfully. I found this really odd because the /var/www/html/cfide directory has nothing to do with Drupal. My Drupal root is /var/www/html/
I also found it odd because it says it updated successfully when it fact it did not.
What is "Source directory" in this case?
Also, I just installed drush from a fresh git clone so I should have the most up to date drush.
Comments
Comment #1
ice5nake commentedAlso note, that I ran this from my user's shell and from a root shell and got that same result. Both my account and root have write permissions on the directory in question.
/var/www/html/cfide is a symlink to /var/www/html/CFIDE if that matters.
Comment #2
moshe weitzman commentedPlease provide output of `drush sa @dev --full` and the full --debug output of the `up` call
Comment #3
jonhattanre #1. So it seems you have a custom folder in your drupal root (CFIDE) and also a symlink to it (cfide).
It seems this is causing the the problem for core update. See
function _pm_update_core()incommads/pm/updatecode.drush.inc.1.
2.
perhaps we need to add symlinks to $skip_list. Please try removing the symlink and upgrading to verify this is the actual error.
Comment #4
ice5nake commentedI got passed this error by adding 'cfide' to the $skip_list array.
Comment #5
senpai commentedComment #4 is confirmed. If a symlink is found at the root of the drupal site, the 'drush up drupal' command fails. But, by adding the offending symlink's name to the $skip_list array, the command succeeds.
Recommend that all symlinks in the root of the Drupal site be ignored, since Drupal doesn't ship with symlinks, and thus any symlink present had to be added by a user and is thus worthy of ignoramus. Or something like that.
Comment #6
senpai commentedFollowing up on my own comment #5, I'd be really swell if the drushrc.php file had an overridable $skip_list in it for those sites that place several random directories and/or symlinks at the base of their Drupal sites? Plus, as soon as I found the $skip_list array in my drush scripts, I went to the drushrc file and tried to override it, but it wasn't an available $option.
Also, a drushrc override would be a safer cross-platform approach for Windows users than trying to auto-detect symlinks in the root of the Drupal site, yeah?
Comment #7
jonhattanJust added symlinks to $skip_list. Shouldn't be a problem in windows.
Comment #8
jonhattanComment #9
msonnabaum commentedBackported.