通过Tortoise SVN shell菜单通过通配符排除文件

时间:2011-08-01 16:39:56

标签: tortoisesvn file-extension

我在Windows 7中使用Tortoise SVN 1.6.16。如果我想要在将来的提交中排除某种文件类型,我想我可以在我的工作文件夹中找到该类型的文件,然后右键单击然后选择“TortoiseSVN->删除并添加到忽略列表 - > * .ext”,其中ext是我单击的文件的文件扩展名,如下图所示。

但是,当我这样做时,它只会排除该特定文件,并且在下次提交时,该类型的所有其他文件仍然会出现在列表中以进行提交。

我做错了吗?如何告诉Tortoise或SVN在将来的提交中忽略某种类型的所有文件?

enter image description here

3 个答案:

答案 0 :(得分:15)

我和@Stefan有同样的预感:您可能会看到子目录中的文件,并认为即使您只将忽略应用于单个文件夹,也应忽略这些文件。

所以,如果事实确实如此,这就是食谱:

如果要忽略单个目录中的文件或模式:

使用便捷菜单命令添加到忽略列表。

如果要忽略子树中的文件或模式:

打开子树根的subversion属性(TortoiseSVN >> Properties)。添加或修改svn:ignore关键字的条目。该插图显示了一个示例,其中我指定忽略obj子文件夹以及.user.bak扩展名的所有文件。

enter image description here

但是,秘密在于规范中 - 当您定义要忽略的模式时,请选择此处指示的递归选择:

enter image description here

不幸的是,这个方法有一个问题:在我的示例中,我之前已指定忽略obj*.user,而我只添加了*.bak模式。当我递归应用时,它不仅仅应用更改(* .bak),而是仅应用svn:ignore关键字中的所有(obj,* .user和* .bak) )到所有子文件夹。这可能是也可能不是你想要的,所以要注意它。

答案 1 :(得分:2)

它会正确忽略所有bat文件,但不会递归!它只会在您将其添加到忽略列表的文件夹中忽略它们。

答案 2 :(得分:1)

你也可以使用Tortoise的全局忽略模式(如果它适用于你所有的工作副本):

  • TortoiseSVN - >设置
  • 一般
  • 填写"全局忽略模式"字段,例如添加" * .ext"在它的末尾,用空格分隔条目。