我想使用Phing将源文件夹中的文件同步到公共文件夹,但问题出在我使用
时<copy todir="${libDir}">
<fileset dir="${gitDir}">
<include name="**"></include>
<exclude name="public/**"/>
</fileset>
</copy>
或
<filesync sourcedir="${gitDir}" destinationdir="${libDir}" verbose="true" checksum="true" />
脚本不会从$ {libDir}中删除$ {gitDir}中已不存在的文件。 我不想先删除孔目录,然后复制所有文件。它应该有效,但需要更多时间。 你知道我如何同步文件夹并删除不存在的文件吗?
答案 0 :(得分:0)
我找到了决定。我只是使用linux命令:
<exec command="rsync -a --delete --exclude '.git' --exclude '.svn' ${gitDir} ${libDir}" checkreturn="true" />
答案 1 :(得分:0)
很容易陷入使用&#39; exec&#39;在Phing的任何地方使用本机操作系统工具。
Phing确实有一个rsync任务,它有一个&#39;删除&#39;参数。
使用rsync命令同步文件或目录。同步可以 在同一台服务器上或从远程服务器上完成。
<filesync
sourcedir="/var/www/development/project1"
destinationdir="/var/www/html/project1"
dryrun="true"
itemizechanges="true"
verbose="true"
checksum="true"
delete = "true" />
链接到phing docs FileSyncTask