Subversion:如何取消版本控制BIN和OBJ文件夹

4
在subversion/TortoiseSVN中,我想知道如何取消版本控制一个目录。我们有大量的项目,每个项目都有BIN和OBJ文件夹,它们都在源代码控制下。我想从subversion中删除这两个文件夹,但保留本地文件夹。
我尝试了“删除(保留本地)”选项,在我的机器上可以正常工作。但是当另一个开发者执行更新时,他们的BIN和OBJ文件夹会被删除。我需要它在其他开发人员执行更新时仅变为未版本化状态,而不是从他们的计算机上删除。
谢谢 ~James
6个回答

6

0

你的链接明确表示这是不可能的:“版本控制文件和文件夹永远不能被忽略——这是Subversion的一个特性。如果你错误地将一个文件加入版本控制,请阅读“忽略已经被版本控制的文件”一节获取如何“取消版本控制”的指导。”它至少提供了取消版本控制的说明。 - Joseph Yaduvanshi

0

一个快速而不太优雅的解决方案是对这些文件夹执行chmod -R a-w,这样svn就无法删除它们。

然而,我认为如果它不会重新生成,那么它应该在版本控制下,如果它确实重新生成,那么它也不应该有影响吧?

或者重新编译对于每个人来说都需要太长时间了吗?

请注意,它只会在第一次更新时删除它们,所以只要您在第一次更新之前保护好文件,就应该没问题。

编辑:或者经典的“备份复制;更新后再复制回来”。


0

我认为最简单的方法是分支你的代码,删除目录,然后合并回主干。

所有开发人员在检出更新的主干之前都应该将obj和bin文件夹添加到全局忽略列表中。

我使用了这个答案中的模式,并且它们对我起作用了:如何正确配置TortoiseSVN的“全局忽略模式”?


0

请确保您进入父目录并提交删除操作。


-1

我解决这类问题的方法是修改项目(msbuild)文件,在编译步骤之前自动重新创建bin/obj目录(如果它们不存在)。然后svn删除bin/obj目录,最后更新.svnignore文件以忽略bin/obj目录。这样,您不会尝试存储中间产品,但是这些目录将在构建时立即可用,无论是在Visual Studio中还是使用MSBuild。


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