我可以通过检入/检出本地存储库的方式,在后台同步这些更改到远程存储库吗?
我们所在的网络连接很弱,而代码库十分庞大。当我想通过TortoiseSVN的RepoBrowser浏览代码库时,可能需要等待30分钟才能加载完整的代码库信息。
理想情况下,我希望能够与本地服务器通信,并在后台或定期同步远程服务器。
我可以通过检入/检出本地存储库的方式,在后台同步这些更改到远程存储库吗?
我们所在的网络连接很弱,而代码库十分庞大。当我想通过TortoiseSVN的RepoBrowser浏览代码库时,可能需要等待30分钟才能加载完整的代码库信息。
理想情况下,我希望能够与本地服务器通信,并在后台或定期同步远程服务器。
你可以使用SVK创建 SVN 仓库的本地镜像。然后你可以使用 SVN 将修改提交到本地 SVN 仓库,并使用 SVK 推送这些修改到真实仓库。
我相信这个策略在“使用SVK作为存储库镜像系统”中有描述。
虽然我从未使用过这个,但我听说 git-svn 正是你想要的工具。你只需要先从 SVN 拉取一次代码,之后使用 git 进行所有本地工作(在 SVN 拉取的代码之上),当网络连接良好时再提交回 SVN。
Subversion支持复制到只读从库。请参阅SVN书中的相关章节。
另一种方法是在远程站点使用git而不是Subversion。 Git具有按照您所需的方式与Subversion进行同步的能力。然后,您将在本地检入并从git进行刷新,并定期将git存储库提交回远程Subversion。
缺点是您必须学习远程网站上的新版本控制系统。 但是,像git、mercurial和bzr这样的分布式版本控制系统比subversion更适合您的环境类型。
我今天刚发现了这篇文章,讲述了如何使用一个名叫 svnsync 的工具来镜像 Subversion 仓库。希望这能帮到你!
您可以使用VisualSVN Server的多站点存储库复制功能设置(多个)可写从库存储库:
主办公室的用户访问主库,远程站点的用户访问可写从库。主库和其从库之间进行双向复制,透明且自动完成,让您甚至可以忘记您已经实施了多站点解决方案。对于您的用户来说,主库和从库就像任何其他Subversion存储库一样可用。
请查看“使用多站点库复制入门”获取更多信息。