如何使Resharper的文件不进入SVN?

14

我正在使用VS2008和Resharper。 Resharper创建了一个名为_Resharper.ProjectName的目录。 我意识到这些文件对源代码控制没有任何价值,并导致提交更改时出现问题。 我该如何让SVN忽略它们? 我使用TortoiseSVN作为我的SVN界面。

编辑:你们速度真快。


通常我会回答“不要提交文件!”,因为Tortoise实际上会要求您指定要添加到源代码控制的文件夹,并提供取消选中Resharper文件夹的选项。或许是因为粗心的源代码控制? - Jon Limjap
8个回答


11
将文件名(甚至是模式_Resharper.*)添加到其父目录的svn:ignore属性中。

7

我会尽力为您提供帮助,以下是您需要翻译的内容:

在我打完这段话之后,我会发布一个关于我的问题的答案。在TortoiseSVN中,进入设置,添加。

*ReSharper*

关于“全局忽略模式”,您可以将文件添加到其中,这意味着对于安装有TortoiseSVN的客户端上的任何项目,这些文件都将被忽略,因此在某些情况下可能不适合使用全局忽略。

如果在将文件添加到存储库之前,您可以从TortoiseSVN菜单中选择将特定文件和目录添加到各个项目的忽略列表中。最初困扰我的是“BEFORE”部分。由于这是一个单一开发人员项目,我一直在检查二进制文件等,因为它对其他开发人员没有影响,并且Resharper文件也在其中。


4

将Resharper缓存存储在系统临时文件夹中。 在r#的第一个设置页面中检查。 环境 -> 一般 -> 系统 -> 存储缓存..


2

简短回答:使用“svn:ignore”属性

详细回答:

# cd /your/working/copy
# export EDITOR=vi
# svn propedit svn:ignore .

(在单独的一行上添加“_Resharper.ProjectName”,并将文件写出)

编辑:呃...糟糕,刚意识到你说的是Tortoise...这就是你如何使用SVN的命令行版本执行它


你的回答比我的好多了,我只是太懒了,不想在没有Subversive的情况下去破解它。 :-) - Daniel Spiewak

1

svn有一个“ignore”属性,您可以将其附加到文件名模式或目录上。被忽略的文件和目录不会在“svn st”命令中报告,并且不会进入版本库。

例如:您有C源代码在.c和.h文件中,但编译器创建了一堆.o文件,您不希望subversion打扰您。您可以使用Subversion的属性功能告诉它忽略这些文件。

对于一个检出的工作目录中的几个文件,例如myproject/mysource/

bash> svn propedit svn:ignore mysource

在弹出的文本编辑器中(在Linux中,可能是vi或您设置的任何EDITORS环境变量),每行添加一个文件名模式。不要在模式后面放置尾随空格(这会使svn混淆)。

*.o
*.bak

就这样。您可能希望立即提交,因为有时svn会对用户在提交之间对文件进行太多不同类型的更改而感到烦恼。(我的规则是:如果有疑问,请提交。这很便宜)

针对出现在庞大目录树中许多位置的文件类型,需要编辑存储在仓库内部的子版本配置文件。这需要仓库管理员的操作,除非您直接访问仓库(不通过svn:或http:或file:,但可以“cd”到仓库位置并“ls”其文件)。 SVN书籍应该有详细信息;我现在不记得了。
由于我不使用Tortoise,我不知道上面的描述如何直接转换 - 但这就是为什么我们有可编辑的答案(开心!)

0

-3

SVN只控制您在创建存储库时放入其中的内容。不要仅导入整个项目文件夹,而是在构建之前导入“干净”的文件夹。构建后,您将获得所有对象文件或_Resharper文件夹等,但它们不受版本控制。

我忘了:另一种可能性是使用

svn:ignore
命令告诉SVN排除某些文件。您可以将其作为属性添加到受版本控制的文件夹中,例如使用TortoiseSVN。


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