Я отправил вопрос, на который вы ссылались.Вот что я в итоге сделал, чтобы заставить symfony project:deploy
работать с Windows 7 (для этого потребовалось немного взломать symfony, поэтому, возможно, это не самое оптимальное решение).С этим решением вам не нужен установленный полнофункциональный Cygwin, вам просто нужен cwRsync.
В вашем fstab
добавьте эту строку (fstab должен находиться под [cwrsync install dir]\etc
):
C:/wamp/www /www ntfs binary,noacl 0 0
Это, по сути, сопоставляет "C: \ wamp \ www" в вашей файловой системе Windows с "/ www" для cygwin.
Изменить symfony/lib/task/sfProjectDeployTask.class.php
:
protected function execute($arguments = array(), $options = array())
{
...
$dryRun = $options['go'] ? '' : '--dry-run';
// -- start hack --
if(isset($properties['src']))
$src = $properties['src'];
else
$src = './';
$command = "rsync $dryRun $parameters -e $ssh $src $user$host:$dir";
// -- end hack --
$this->getFilesystem()->execute($command, $options['trace'] ? array($this, 'logOutput') : null, array($this, 'logErrors'));
$this->clearBuffers();
}
Это позволяет вамукажите дополнительное поле src
в properties.ini
:
src=/www/myProject
Благодаря этому намного более четко определяется отображение всей файловой системы между окнами и cygwin.Cygwin (и cwRsync) понимают пути Unix намного лучше, чем пути Windows (т. Е. /www
против C:/wamp/www
), поэтому при этом все просто работает.