Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SVN外部-浮动外部和固定外部之间有什么区别吗?_Svn_Svn Externals - Fatal编程技术网

SVN外部-浮动外部和固定外部之间有什么区别吗?

SVN外部-浮动外部和固定外部之间有什么区别吗?,svn,svn-externals,Svn,Svn Externals,我知道有人建议外部标签应始终指向标签或固定在特定的修订版上(或同时用于安全带和支架!)。当外部指向不变或缓慢变化的依赖项时,我对这种方法感到满意。然而,有时我需要对一个快速变化的依赖项进行外部设置,然后将外部设置为指向依赖项的主干就不那么费力了(尽管风险更大) 我真正想要的是一个中间特性,我称之为“外部跟踪”。其工作方式如下: a) 如果我签出头部,我得到外部的头部 b) 如果我签出修订版X,我会得到外部版本的修订版X 这将允许我始终重新创建旧的修订,但也允许我接触到依赖项的最新更改 这个特性在

我知道有人建议外部标签应始终指向标签或固定在特定的修订版上(或同时用于安全带和支架!)。当外部指向不变或缓慢变化的依赖项时,我对这种方法感到满意。然而,有时我需要对一个快速变化的依赖项进行外部设置,然后将外部设置为指向依赖项的主干就不那么费力了(尽管风险更大)

我真正想要的是一个中间特性,我称之为“外部跟踪”。其工作方式如下:

a) 如果我签出头部,我得到外部的头部

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

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

这个特性在SVN中似乎不存在,但它似乎是一个需要实现的明显特性。有人知道这个特性是否存在或计划中,或者是否可以通过一些SVN技巧来模拟它吗

谢谢
Akash

如果只在外部文件中使用分支,而不指定特定的修订,则此外部文件是浮动的,这意味着每次更新它时,您都会得到该分支的头部…您可以在使用主干时执行相同的操作。但是,在发布之前,您必须将外部绑定到特定状态,最佳做法是为此使用标记。

我认为您要求的不是外部的正确使用。你做错了

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

在某些特殊情况下,您将存储库和外部版本保持在修订锁定步骤中(如果您的外部版本是从同一存储库中的不同位置提取的,您可以这样做),希望在外部存储库中签出存储库的修订版X和同一修订版X将以失败告终

如何确保主存储库的修订与外部存储库的修订保持同步?当您的存储库处于修订版1000,而外部存储库仅处于修订版300时,会发生什么情况


我想试着回答你的问题:我不知道SVN的未来版本是否会有类似的计划,但我打赌不会。至于“欺骗”,您可能可以通过创建某种包装器脚本来实现这一点,该脚本可以修改外部属性,以便在实际签出之前将它们固定在计划签出的修订版本上。不是我认为实用的,也不是完全微不足道的。 对不起,我已经整理了问题的格式,以便更清楚地说明我在找什么。我不想要普通的浮动外部,也不想要固定外部。我想要一个,当我签出代码的版本X时,它会获取外部版本X,当我签出代码的版本Y时,它会获取外部版本Y。谢谢,我应该指定我正在从同一存储库中提取外部。我完全同意我的用例在其他方面毫无意义。你认为在这种特殊情况下,它仍然是一种不正确的外部用法吗?对我来说,这似乎是一个有效的场景。我认为你计划使用它,而不是外部的预期用途。这是否等同于“不正确”取决于你。就我个人而言,我会避而不谈。它成为存储库中的一个拐杖/特例。如果将来,无论出于何种原因,您需要或想要将外部绑定到不同的存储库中,那么您必须更改/停止使用专门的外部绑定方案。。。你现在没有改变你的方法(一个小小的“痛苦”),而是可能在未来造成更大的悲伤/痛苦。