2

我知道人们建议 externals 应该始终指向标签或固定到特定的修订版(或者对于腰带和大括号旅来说两者兼而有之!)。当外部指向不变或缓慢变化的依赖项时,我对这种方法感到满意。但是,有时我需要在快速变化的依赖项上使用外部,然后将外部设置为指向依赖项的主干会更省力(尽管风险更大)。

我真正想要的是一个中间功能,我将其称为“外部跟踪”。他们应该工作的方式如下:

a) 如果我结帐 head,我会得到外部的 head

b) 如果我检查修订 X,我会得到外部的修订 X

这将允许我始终重新创建旧版本,但也允许我接触到依赖项的最新更改。

这个特性在 SVN 中似乎不存在,但它似乎是一个显而易见的特性。有谁知道这个功能是否存在或计划中,或者是否可以通过一些 SVN 技巧来模拟它?

谢谢阿卡什

4

2 回答 2

1

我认为您的要求不是正确使用外部设备。你这样做是错的。

外部从……其他地方提取代码。“其他地方”可能是您当前存储库中的不同位置,也可能是您机器上的不同存储库,或者托管在世界另一端机器上的存储库......

在某些特殊情况下,您将存储库和外部保持在修订锁步中(如果您的外部从同一存储库中的不同位置拉出,您可以这样做)想要检查存储库的修订 X在外部存储库中具有相同的修订 X 将以失败告终。

您如何确保主存储库修订与外部存储库修订保持同步?当您的存储库处于修订版 1000 并且外部存储库仅处于修订版 300 时应该发生什么?

要真正尝试回答您的问题:我不知道是否计划在 SVN 的未来版本中进行此类操作,但我敢打赌不会。至于“诡计”,您也许可以通过创建某种包装脚本来完成此操作,该脚本可以修改外部属性以将它们固定在您计划在实际签出之前签出的修订版中。不是我认为实用的东西,也不是完全微不足道的。

于 2010-09-03T15:36:07.540 回答
0

如果您只是在外部使用一个分支而不指定特定的修订版本,那么这个外部是浮动的,这意味着每次更新它时,您都会获得该分支的负责人......您可以在使用主干时执行相同的操作。但是在发布之前,您必须将其固定到特定状态,最佳实践是为此使用标签。

于 2010-09-03T11:24:57.053 回答