Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 如何使用AnkhSVN在Visual Studio中切换subversion存储库?_Visual Studio 2008_Svn_Ankhsvn - Fatal编程技术网

Visual studio 2008 如何使用AnkhSVN在Visual Studio中切换subversion存储库?

Visual studio 2008 如何使用AnkhSVN在Visual Studio中切换subversion存储库?,visual-studio-2008,svn,ankhsvn,Visual Studio 2008,Svn,Ankhsvn,我一直在本地开发一个项目,并在VisualStudio中使用本地svn服务器进行版本控制。我现在想切换到xp开发人员托管的版本控制,但似乎无法摆脱我的解决方案上的svn绑定?有没有一种简单的方法可以在不使用版本控制设置的情况下复制解决方案,或者简单地切换到另一个svn(完全为空) 编辑:注意,这假设您正在尝试移动到新存储库,删除所有历史记录,而不是移动存储库。考虑到这一点,您可能希望将删除所有.svn文件夹替换为将文件夹导出到新repo的新创建的工作区中 据我所知没有。我可能会这么做 从解决方

我一直在本地开发一个项目,并在VisualStudio中使用本地svn服务器进行版本控制。我现在想切换到xp开发人员托管的版本控制,但似乎无法摆脱我的解决方案上的svn绑定?有没有一种简单的方法可以在不使用版本控制设置的情况下复制解决方案,或者简单地切换到另一个svn(完全为空)

编辑:注意,这假设您正在尝试移动到新存储库,删除所有历史记录,而不是移动存储库。考虑到这一点,您可能希望将删除所有.svn文件夹替换为将文件夹导出到新repo的新创建的工作区中

据我所知没有。我可能会这么做

  • 从解决方案中删除所有.svn文件夹
  • 在新repo中为解决方案创建文件夹
  • 看看吧
  • 将当前解决方案移动到该文件夹中
  • 在VisualStudio中加载解决方案
  • 使用AnkhSvn再次添加它。它应该知道它在一个被颠覆的目录中,并允许您这样做

尝试转到文件>Subversion>更改源代码管理。。。以及更改SCC绑定URL

编辑: 我知道那是不可编辑的。为此,您可能需要转到命令行

在基本目录中,发出以下svn命令:

svn switch --relocate http://old.repo.location http://new.repo.location
当然,使用您的特定URL。我建议您仔细阅读
开关
命令,这样您就可以确定自己在做什么。当您重新打开VS时,AnkhSVN应该选择新绑定。如果通过文件>Subversion菜单添加了解决方案,则可能需要编辑.sln文件。只需在文本编辑器中打开它,并将所有旧存储库URL更改为新URL

您还可以安装TortoiseSVN并使用上下文菜单发出重新定位命令。 这将是最简单的。


当然,在进行任何这些更改之前,请备份您的目录。

内置了切换/重新定位功能:

  • 打开视图->挂起的更改
  • 单击显示当前存储库url的下拉列表,或单击其右侧的按钮
  • 输入/浏览到新位置
  • 无论您是否要重新定位,都会出现一个对话框(因为在这里切换是不够的)

您还可以右键单击解决方案或项目,并在Subversion菜单上选择“切换项目”


我从SVN“导出”,然后在SVN repo浏览器中向新的repo添加文件夹,然后在Visual Studio中打开.sln。

另一种方法是在包含存储库URL的“.SVN”文件夹中编辑wc.db(SQLite文件)。 我使用了Firefox插件SQLITE编辑器,然后在表中存储库只有一行显示了您的存储库URL,将其更改为新主机,就这样了


我的情况是,我有一台带有新主机的新计算机,因此添加到SVN存储库中的所有项目都有一个旧的URL(旧主机名)。

在我的情况下,我必须更改SVN的URL,因为DNS不知道主机名,所以我必须使用IP地址

您可以编辑位于以下位置的主机文件:
C:\Windows\System32\drivers\etc

只需输入一行,如

xxx.xxx.xxx.xxx     hostname

嗯,它不允许我更改该字段中的文本重新定位是指如果您刚刚移动了存储库,就像您更改了它所在的文件夹或将其移动到web服务器上一样。如果您指向另一个完全不同的存储库,我认为这是行不通的。我认为修订号、历史记录等基本上必须相同,即本质上相同的repo才能发挥作用。@Colin:
--relocate
检查存储库UUID是否相同。如果在xp dev上正确导出和导入了存储库,它们将是相同的,这会使您丢失历史记录。最后一点也无效。当您删除所有.svn文件夹时,它不再位于工作副本/“subversion目录”中是的,我的印象是他试图移动到新的subversion服务器,而不是移动subversion存储库。否则我会建议他重新定位它。当将存储库移动到新服务器时,最好检查一下这个。如果你像你说的那样做,你仍然会失去所有的历史记录。是的,我不反对,我只是觉得最初的提问者并不关心历史记录。你也可以右键单击解决方案或项目,然后在Subversion菜单上选择“切换项目”是可用的。只需补充一点,这是作为一个交换机实现的,如果交换机出现故障,它将自动重新定位支持。AnkhSVN已更改了菜单选项。现在,文件下Subversion子菜单的PendingChanges视图已关闭。因此,如果您需要本地svn服务器中的原始源代码,您可能希望查看其答案,请执行File->Subversion->Pending Changes。