我们有一个Subversion设置,该设置相当广泛地使用了svn:externals(一个项目中有多达5个外部引用,虽然大多数在同一存储库中,但其中一个或两个在不同的存储库中,但仍在同一服务器上)。目前,svn:externals属性的设置方式是它们具有被引用项目的完整URL(即“https://[server]:[port]/svn/Repository1/Projects/...”)。
最近,我使用svnsync设置了一个SVN镜像,将我们的存储库备份到一个外部远程设施。我们需要能够从远程站点读取只读检出,这在大多数情况下似乎运行良好,但当尝试提取外部引用时,它仍会引用我们本地的站点服务器。
不确定是否这是最佳解决方案,但我希望在远程位置设置某种后提交挂钩,该后提交挂钩将修改svn:externals的属性,并将此处本地服务器的主机名替换为远程服务器的主机名。此挂钩将在每次由svnsync进行的提交后运行。
理想情况下,我们希望避免修改主存储库中的svn:externals属性以不包括服务器名称。
有人遇到过这个问题吗?最佳方法是什么?
最近,我使用svnsync设置了一个SVN镜像,将我们的存储库备份到一个外部远程设施。我们需要能够从远程站点读取只读检出,这在大多数情况下似乎运行良好,但当尝试提取外部引用时,它仍会引用我们本地的站点服务器。
不确定是否这是最佳解决方案,但我希望在远程位置设置某种后提交挂钩,该后提交挂钩将修改svn:externals的属性,并将此处本地服务器的主机名替换为远程服务器的主机名。此挂钩将在每次由svnsync进行的提交后运行。
理想情况下,我们希望避免修改主存储库中的svn:externals属性以不包括服务器名称。
有人遇到过这个问题吗?最佳方法是什么?
svn:externals
的依赖。Git没有类似于svn:externals
的功能。对我来说,这是Git的一个“特性”,因为svn:externals
实际上是有问题的。这个想法很好,但实现起来非常麻烦,所以你需要避免使用它。 - David W.