并行运行svn-update和ant构建



我有一堆svn项目,我想用ant更新和构建它们。目前我有一个顺序的方法:

find /opt/src/ -path "*/trunk/build.xml" -execdir svn update $(dirname {}) ; -exec ant -f {} ;

现在我想并行(或后台)运行ant构建,这样find命令就可以继续执行,而不会被ant调用阻塞。我已经读过在bash中用"&amp但在我的情况下,我不知道如何正确使用它。

谢谢你的帮助!

您可以将它们放在for循环中,在后台中开始每次迭代

for f in $(find /opt/src/ -path "*/trunk/build.xml") do
...
...
done &

经过一段时间的摸索,我得到了这个解决方案:

for f in $(find /opt/src/ -path "*/trunk/build.xml"); do 
svn update $(dirname $f); 
konsole --noclose --nofork -e ``ant -f $f`` &; 
done

svn更新以串行方式运行,ant以并行方式构建。这意味着,一旦某个目录的svn更新完成,就会在一个单独的控制台(这里是kde的终端应用程序)窗口中启动ant构建。开始并行进行许多svn更新会导致我的环境中出现网络错误,所以我如上所述更改了行为。

相关内容

  • 没有找到相关文章

最新更新