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_Branch - Fatal编程技术网

如何解决SVN:外部问题

如何解决SVN:外部问题,svn,branch,Svn,Branch,我正在为我的项目使用SVN。我有两个名为repo1和repo2的存储库。在每个存储库中,我都在两个存储库中创建了一个名为branch1的分支。对于repo2的branch1中的一个称为module1的模块,已经定义了一个svn:external,并在Repo1中设置为branch1的module1 但现在我在repo1和repo2中创建了另一个名为branch2的分支,它是两个repo的branch1的副本。现在我在repo2的branch2中的module1仍然指向repo1中branch1的

我正在为我的项目使用SVN。我有两个名为repo1和repo2的存储库。在每个存储库中,我都在两个存储库中创建了一个名为branch1的分支。对于repo2的branch1中的一个称为module1的模块,已经定义了一个svn:external,并在Repo1中设置为branch1的module1

但现在我在repo1和repo2中创建了另一个名为branch2的分支,它是两个repo的branch1的副本。现在我在repo2的branch2中的module1仍然指向repo1中branch1的module1。但应参考repo1中branch2的模块1


当我们进行svn复制或svn分支时,是否有任何方法可以自动更改svn:externals?

我认为这是不可能的。我认为svn没有办法知道您是否希望svn外部引用branch2或branch1


更新:这看起来很有用。

上的权威资源显示了一些“相对”链接的可能性。但它们都不能以您想要的方式跨越存储库边界

这将留下以下选项:

  • 将相关项目放入同一存储库和同一分支目录,并使用相对svn:external links,或
  • 使用和/或破解类似于
    svncopy
    的工具,其目的是处理svn:externals。此工具位于
    contrib/client-side/svncopy
    中的subversion源代码树中
  • 或者,您可以将分支/标记放入构建系统中

这些选项中没有一个是无约束的。

不,svn无法自动完成您需要的操作。创建分支将复制svn中的整个文件夹及其所有外部引用


但是您可以编写自己的脚本来创建分支并更新外部

在我看来,这是一个特性,而不是一个bug
svn:externals
应该用于稳定的引用,因此它们通常甚至应该指向特定的修订版,而不是头部。您可以使用
svn:externals
添加您想要阅读的内容吗?也许有另一个解决方案可能与SVN。为什么这两个存储库具有相同的结构,而repo2似乎应该遵循repo1的结构。