gpt4 book ai didi

svn - 如何同步两个 Subversion 存储库?

转载 作者:行者123 更新时间:2023-12-03 05:18:22 26 4
gpt4 key购买 nike

我的公司有一家子公司,互联网连接速度很慢。我们的开发人员与我们的中央交互Subversion服务器。是否可以为它们配置从属/镜像?他们将与服务器进行本地交互,所有提交都会自动同步到主服务器。

这对于开发人员来说应该尽可能透明。可用性是必须的。

请不要建议更改我们的版本控制系统。

最佳答案

这是可能的,但不一定简单:您试图解决的问题非常接近于建立分布式开发环境,而这并不完全是 SVN 的设计目的。

SVN镜像方式

您可以按照 SVN 书籍文档中的说明使用 svn 镜像来创建主存储库的只读镜像。您的开发人员每个人都与距离他们最近的镜子进行交互。但是,从属存储库的用户必须使用

svn switch --relocate master_url

在他们可以提交之前,他们必须记住在完成后重新定位回从属服务器。如果您使用命令行客户端,则可以使用存储库周围的包装脚本来自动修改 SVN 上的命令。请记住,快速的重定位操作会增加一些开销。 (并小心复制存储库 uuid - 请参阅 the SVN documentation 。)

[编辑 - 检查 TortoiseSVN文档似乎你可以拥有 TortoiseSVN execute hook scripts client side 。此时您也许可以创建提交前/提交后脚本。或者尝试看看是否可以使用 TortoiseSVN automation interface去做]。

SVK 方式

svk是一组 Perl 脚本,用于模拟 SVN 上的分布式镜像服务。您可以对其进行设置,以便多个开发人员共享本地分支(镜像)。那么对于开发者来说基本的使用方式将是完全透明的。您将必须使用 svk 客户端进行 cherry-pick 、合并和星形合并。如果您能够理解分布式概念,那么这是可行的。

git-svn 方式

虽然我自己从未使用过它,但您也可以让远程开发人员在本地使用 git 并使用 git-svn同步网关。

最后一句话

这完全取决于您的开发环境和您所需的集成级别。根据您的 IDE(如果您可以更改 SCM ),您可能想看看其他支持分布式开发的完全分布式 SCM(例如 Mercurial/Bazaar/Git/...)盒子。

关于svn - 如何同步两个 Subversion 存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/143130/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com