我将SVN存储库分为两个: project1 和 common 。这样,我还可以制作 project2 ,该项目也取决于 common 。
项目1 将包含一个指向常见的svn:external
链接。我希望人们不断适应 common 的HEAD
,但是从字面上将svn:external
固定到HEAD
会引起问题(例如,标记将引用当前的{标记时使用{1}}代替HEAD
。手动固定静态修订很烦人,因为如果我们暂时不更新 project1 ,那么经理会更不愿意将 common 中的所有更改都未经测试变化成为一种风险。这导致了我们希望避免的分叉。
如何解决这个问题?
答案 0 :(得分:0)
从Linux服务器上使用cron-job或systemd.timer运行此脚本(使用具有对存储库的写访问权的帐户)。
这解决了以下问题:通过不断更新与之挂钩的svn修订版,还原到 project1 的旧修订版还将还原到当时使用的 common 版本。 / p>
作为一项额外的奖励,如果有人进行 common 更新,则所有运行此脚本的项目都会自动提交可以触发CI的外部属性更新(使用Jenkins之类的东西)。这意味着对 common 的提交将立即在所有相关项目中进行测试。
HEAD
限制是它仅支持相对于同一服务器根配置的外部设备。