我發表了你提到的那個問題。以下是我爲了讓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();
}
這可以讓你在properties.ini
指定其他src
場:
src=/www/myProject
這樣做可以使Windows和Cygwin的方向比較明確的整個文件系統的映射。 Cygwin(和cwRsync)比windows路徑更好地理解unix路徑(即/www
與C:/wamp/www
),所以這樣做可以使所有的工作都正常工作。
您引用的問題本質上是解決方案 - 只需在'C:\ cwRsync \ etc'中創建一個名爲'fstab'的文件並添加'none/cygdrive cygdrive binary,posix = 0,user,noacl 0 0'到它。 – Raise 2010-11-04 16:16:36