Как заставить Drush rsync правильно использовать псевдонимы сайтов? - PullRequest
2 голосов
/ 22 февраля 2011

Я использую 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 /, но у него были те же проблемы, что и раньше. Я назначу вознаграждение тому, кто скажет мне, где поместить этот файл, чтобы он находился в корневом каталоге сайта, контролируемого исходным кодом.

1 Ответ

2 голосов
/ 28 февраля 2011

Вы можете установить путь псевдонима в файле конфигурации drushrc.php.

Если это не задано, тогда drush ищет в этих местах (в этом порядке) файл псевдонима.

  • / etc / drush
  • папка установки drush
  • $ HOME / .drush
  • внутри папки сайтов вашего сайта drupal

Проверьте readme для получения более подробной информации.

Кстати: у вас пропущена запятая в объявлении «локального» псевдонима.Измените его следующим образом:

'% files' => 'sites / default / files',

...