我在Windows 7中使用Tortoise SVN 1.6.16 . 如果我想要在将来的提交中排除某种文件类型,我想我可以在我的工作文件夹中找到该类型的文件,然后右键单击它,选择“TortoiseSVN->删除并添加到忽略列表 - > * . ext”,其中ext是我单击的文件的文件扩展名,如下图所示 .
但是,当我这样做时,它只排除该特定文件,并且下次我提交时,该类型的所有其他文件仍然出现在提交列表中 .
难道我做错了什么?我怎样才能告诉Tortoise或SVN在将来的提交中忽略某种类型的所有文件?
3 回答
我和@Stefan有同样的预感:您可能会看到子目录中的文件,并认为即使您只将忽略应用于单个文件夹,也应忽略这些文件 .
所以,如果事实确实如此,这里是食谱:
When you want to ignore files or patterns from a single directory:
使用convenience菜单命令添加到忽略列表 .
When you want to ignore files or patterns from a subtree:
打开子树根的subversion属性(
TortoiseSVN >> Properties
) . 添加或编辑svn:ignore
关键字的条目 . 该图显示了一个示例,其中我指定忽略obj
子文件夹以及具有.user
或.bak
扩展名的所有文件 .但是,秘密在于规范中 - 当您定义要忽略的模式时,请选择此处指示的递归选择:
不幸的是,这个方法有一个问题:在我的例子中,我之前指定忽略
obj
和*.user
,我只是添加*.bak
模式 . 当我递归应用时,它不仅仅应用更改(* .bak),而是将svn:ignore关键字(obj,* .user和* .bak)中的所有内容应用于所有子文件夹 . 这可能是也可能不是你想要的,所以要注意它 .它会忽略所有bat文件,但不能递归!它只会在您将其添加到忽略列表的文件夹中忽略它们 .
您还可以使用Tortoise的全局忽略模式(如果它适用于您的所有工作副本):
TortoiseSVN - >设置
一般
填写"Global ignore pattern"字段,例如在其末尾添加"*.ext",用空格分隔条目 .