如何在Visual Studio中退出Subversion源代码控制?

20

我有一个使用Subversion和AnkhSVN在Visual Studio 2008中进行源代码控制的解决方案,但我想将其移出源代码控制, 要如何操作?


1
问为什么要对项目进行反混淆是否是一个愚蠢的问题? - annakata
我认为我将它绑定到了根目录太高的位置,现在它想使用一个不应该使用的代码库。 - Peter
1
我曾经遇到过相似的问题,我的一个非常老旧的项目实际上绑定了一个不再存在的 SVN 服务器。需要取消所有文件的版本以便将其添加到我们当前的 SVN 服务器中。 - kdmurray
5个回答

32

相对于让人恐惧的VSS,SVN不会在项目文件中添加“绑定”:它将所有系统信息保存在每个版本控制目录内的.svn_svn子文件夹中。因此,“移除”项目中的版本控制实际上是删除所有这些文件夹。

然而,这很繁琐,因此SVN有一个特殊的命令叫做svn export,它可以从指定URL的仓库“导出干净的目录树”,或者从工作副本“导出干净的目录树”。


5
如果你正在使用Tortoise版本控制软件,你可以右键点击你的解决方案根目录,在Tortoise SVN子菜单下点击“导出”以获得访问导出命令的权限。 - Mark Dickinson
1
您还可以在原地进行导出,即使用 svn export --force 去除工作副本中的 .svn 文件夹。 - Wim Coenen

13
据我所知,AnkhSVN将绑定信息存储在项目和解决方案文件中(也在解决方案用户选项文件**.suo*中缓存)。
我认为您可以通过转到“文件 | 源代码控制 | 更改源代码控制”(或在专用的AnkhSVN工具栏中)来删除这些绑定。在该对话框中,应该有一个命令可以断开项目的连接。

2
这一步在AnkhSVN中是可选的(因为对于大多数项目类型来说,在解决方案和/或项目中注册是可选的),但如果您之前将项目标记为由Subversion管理,则应该执行此操作。 - Bert Huijben
1
我这样做了,并删除了svn文件夹。然后我将它放在Git仓库中并推送了它。现在,每次我打开解决方案时,它认为它仍然在SVN中,但没有参考位置。我每次打开它都必须再次断开连接,并更改Tools/Options/Source Control/Current source control plug-in为Git,这让我很难过。 - JRodd

4

删除 .svn 文件夹,您的源代码树就不再被版本控制了。


1
如果您在Visual Studio中将项目标记为“由Subversion管理”,则不是真的。 - JFTxJ
5
我需要从.sln文件中删除以下行: GlobalSection(SubversionScc) = preSolution Svn-Managed = True Manager = AnkhSVN - Visual Studio 的 Subversion 支持 EndGlobalSection - Baxter

1
  1. 从文件系统中删除带有隐藏属性的SVN文件夹
  2. 在文本编辑器中打开VS解决方案文件并移除对Subversion的引用“...由Subversion管理...” 对我来说很有效。

1
如果您想要移除文件/文件夹的Subversion控制,但是希望它仍然保留在当前位置,您可以使用TortoiseSVN上的“删除(保留本地)”选项。要查看此选项,您必须在右键单击文件/文件夹时按住Shift键,然后它将出现在上下文菜单中。

1
这不会删除项目中的管理区域;它只会在下一次提交时将它们标记为从源代码控制中删除。(而且你永远不能删除你的工作副本的根目录)。 - Bert Huijben

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接