繁体   English   中英

SVN外部组件-浮动和固定的外部组件之间是否存在某些东西?

[英]SVN externals - is there something between floating and pinned externals?

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

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

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

b)如果我签出修订版X,我会得到外部的修订版X

这将使我能够始终重新创建旧修订版,而且还使我能够接触到依赖项的最新更改。

SVN中似乎不存在此功能,但似乎可以实现。 有谁知道此功能是否存在或已计划,或者是否可以通过某些SVN技巧进行仿真?

谢谢阿卡什

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

外部从……其他地方提取代码。 这个``其他地方''可能是您当前存储库中的其他位置,也可能是您计算机上的其他存储库,或者是位于世界另一端的计算机上托管的存储库...

在某些特殊情况下,您需要将存储库和外部存储在修订锁定步骤中(如果从同一存储库中的其他位置拉出外部存储,则可以执行此操作),并希望检出存储库的修订版X外部存储库中具有相同修订X的版本将以失败告终。

您如何确保主存储库修订版与外部存储库修订版保持同步? 当您的存储库的修订版为1000,而外部存储库的修订版仅为300时,应该怎么办?

实际回答您的问题:我不知道是否为将来的SVN版本计划了类似的计划,但我不会。 至于“棘手的问题”,您可能可以通过创建某种包装脚本来完成此操作,该脚本可以修改外部属性,以将其固定在您计划实际签出之前的计划修订版本中。 我认为这不是实用的,也不是完全琐碎的。

如果您仅在外部环境中使用分支而不指定特定的修订版本,则外部环境是浮动的,这意味着每次更新它时,您都会获得该分支的头...您可以在使用中继时进行相同的操作。 但是在发布之前,您必须将其固定在特定状态的外部,最佳实践是为此使用标签。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM