4

我正在维护一个构建系统,该系统使用一个目录中的 svnant 来更新另一个目录中的大量项目。然后它移动到已更新的项目之一,并进行实际构建。

从那个主要项目做所有事情是否安全?主项目能不能用svnant来更新自己,还是svn需要更新ant当前正在使用的build.xml文件会不会有问题?

4

2 回答 2

1

对于自我更新的主项目 build.xml - 您可能在运行 subversion 更新和一次性构建时遇到问题。问题的性质取决于对 build.xml 所做的更改。简单地重新运行构建可能会修复它,因为在启动时加载的 build.xml Ant 将是最新的。

如果您确实必须可靠地更新 build.xml 并一次性执行构建,您可能会考虑将构建的 post-svnant 部分包装在antcall任务中。当 Ant 运行被 antcall 的目标时,它会重新读取 build.xml,因此自调用 Ant 以来对该文件的任何更改都会被考虑在内。Antcall 从头开始​​处理,因此如果您有(可能很昂贵)初始化,则需要再次运行这些初始化。

于 2010-11-29T00:14:26.720 回答
0

如果这不占用太多磁盘空间(如果磁盘空间不是问题),您可以有两个工作目录:

  • 一个svnant你想要的任何东西
  • 一个你启动构建的地方,除了任何启动之前都会有一个 rsynch 以便将任何修改从第一个工作目录导入到第二个工作目录。

换句话说,您将在启动任何构建之前拉出修改。

于 2010-11-26T19:29:31.383 回答