这个问题的变种已被多次询问,但没有一个答案澄清了我感兴趣的内容:
我希望(显然...... :)将我的本地工作副本与两个不同服务器上的两个存储库同步。如果我将svn switch
与--relocate
选项一起使用,是否可以(并且相当安全)与两个存储库保持同步(必要时手动合并更改)以及有哪些警告?
背景:一台服务器托管我的私有svn,另一台是“官方”svn,有几个人可以访问并提交更改。
在我的私有svn中保留代码的附加副本的主要动机是
答案 0 :(得分:2)
简答:不。
svn switch
用于切换到相同存储库的新网址。 Subversion无法在具有不同内容的两个存储库之间切换。
具体来说,svn检查存储库UUID以防止您意外切换到其他存储库。如果您绕过该检查(通过使用相同的UUID创建两个repos,比方说),然后在执行“脏”提交后切换到“官方”仓库,svn仍然不知道如何做正确的事。可能只会认为其工作副本已损坏并拒绝再执行commit
或update
次操作。
您要求的功能正是分布式版本控制系统的设计目标。其中一些可以与svn合作,以便您可以使用git作为您的私有存储库并将其与官方svn存储库同步。