考虑在两个单独的存储库Pub和Priv中分发的软件。Pub存储库是公共的。私有已关闭。当任何一方发生更改时,连续集成服务器都会同时构建Pub和Priv。然后,它会从Priv创建可下载的二进制文件,供Pub用户使用。这些二进制文件在内部以及带有Subversion修订版的文件名上标记。
问题是:如何使从Pub生成的程序知道正确的,对应的Priv版本号,以便它们可以自动下载并运行?
当前的解决方案是让构建服务器修改Pub中的文件,以设置Priv的修订号并将这些更改提交给Pub。但是,这带来了两个重大问题:
该构建需要花费很长时间,因此,如果有人在构建期间将更改提交到Pub(或Priv),则会产生冲突。可以强制解决该问题,但是日志历史记录看起来很奇怪,好像这些修订使它进入了该内部版本一样。
Subversion日志中有许多条目,例如“自动构建更新了版本”。从每次构建运行开始都会污染本来有益的Subversion日志。
因此,我们可以通过不需要更改存储库的方式来做到这一点。
真诚的韦恩