Я использую Drush 4.2 и пытаюсь rsync файлы с сервера dev на мою локальную машину. Мой aliases.drushrc.php находится в корне моей локальной установки drupal и содержит следующее:
$aliases['local'] = array(
'root' => '/Users/christian/Sites/site-root',
'path-aliases' => array(
'%files' => 'sites/default/files'
),
);
$aliases['dev'] = array(
'root' => '/var/www/vhosts/some-domain.com/subdomains/dev/httpdocs',
'remote-host' => 'some-domain.com',
'remote-user' => 'root',
'path-aliases' => array(
'%drush' => ' /var/tools/drush/drush',
'%files' => 'sites/default/files',
),
);
В качестве теста я пытаюсь запустить его из локального корня друпала:
drush rsync @dev:% files ~ / Desktop / test /
Я ожидаю, что @dev:% файлов расширится до пути к удаленному файлу, но вместо этого я получу:
Вы уничтожите данные из / Volumes / MacintoshHD / Users / christian / Desktop / test / и замените их данными из @dev: / Volumes / MacintoshHD / Users / christian / Sites / site-root /% files
Есть идеи?
UPDATE:
Я также обнаружил, что при попытке ввести команду:
drush dd @dev:% files
Я получаю
Цель '@dev:% files' не найдена.
ОБНОВЛЕНИЕ 2
Я обнаружил, что проблема, похоже, связана с расположением файла aliases.drushrc.php. У меня это было в корне drupal сайта, над которым я работал. Я обнаружил, что если я переместил его в ~ / .drush /, то все заработало отлично.
Я бы предпочел, чтобы он был под контролем источника. Я попытался поместить его в сайты / default /, но у него были те же проблемы, что и раньше. Я назначу вознаграждение тому, кто скажет мне, где поместить этот файл, чтобы он находился в корневом каталоге сайта, контролируемого исходным кодом.