我一直在本地开发一个项目,并在Visual Studio中使用本地svn服务器进行版本控制。现在我想切换到xp-dev托管的版本控制,但似乎无法摆脱我的解决方案上的svn绑定?有没有一种简单的方法可以复制一个解决方案而不带其版本控制设置,或者只是切换到另一个完全为空的svn?
我一直在本地开发一个项目,并在Visual Studio中使用本地svn服务器进行版本控制。现在我想切换到xp-dev托管的版本控制,但似乎无法摆脱我的解决方案上的svn绑定?有没有一种简单的方法可以复制一个解决方案而不带其版本控制设置,或者只是切换到另一个完全为空的svn?
这里有一个内置的开关/重定位功能:
编辑:请注意,这假定您正在尝试移动到一个新的存储库,删除所有历史记录,而不是移动存储库。考虑到这一点,您可能想用将文件夹导出到新创建的工作区中来替换删除所有 .svn 文件夹。
据我所知,没有这样的方法。我可能会这样做:
svn switch --relocate http://old.repo.location http://new.repo.location
当然要使用您具体的URL。我建议您了解一下switch
命令,以确保您知道自己在做什么。重新打开VS时,AnkhSVN应该会捕获新的绑定信息。如果您是通过“文件”>“Subversion”菜单添加解决方案的,则可能需要编辑.sln文件。只需在文本编辑器中打开它,并将所有旧的存储库URL更改为新的URL即可。
您也可以安装TortoiseSVN,并使用上下文菜单发出“Relocate”命令。 这将是最简单的方式。
在进行任何更改之前备份您的目录,当然。
--relocate
检查仓库 UUID 是否相同。如果仓库在 xp-dev 上正确导出和导入,它们将是相同的。 - Sander Rijken另一种方法是编辑位于“.svn”文件夹中的wc.db(SQLite文件),其中包含存储库URL。
我使用了Firefox插件SQLITE editor,然后在REPOSITORY表中只有1行表示您的存储库URL,将其更改为新主机即可。
我的情况是我有一台新电脑和新主机,因此我所有添加到SVN存储库中的项目都有一个旧的URL(旧主机名)。
C:\Windows\System32\drivers\etc
然后简单地输入一行,例如:xxx.xxx.xxx.xxx hostname
我从SVN中“导出”,然后在SVN Repo Browser中对新仓库进行了“添加文件夹”的操作,最后在Visual Studio中打开了.sln文件。