在多数项目中你总会有文件和目录不需要进行版本控制。这可能包括一些由编译器生成的文件,*.obj,*.lst,或许是一个用于存放可执行程序的输出文件夹。只要你提交修改,TortoiseSVN 就会在提交对话框的文件列表中显示出未版本控制文件。当然你可以关闭这个显示,不过你可能会忘记添加新的源文件。

最好的避免类似问题的方法是添加参考文件到该项目的忽略列表。这样他们就永远不会出现在提交对话框中,而真正的未版本控制文件则仍然列出。

在 Eclipse 中点击菜单 window --> Preferences --> Team --> Ignored Resources



点击 Add Pattern… 按钮添加你要忽略的文件或目录。

(注意:还没有纳入SVN控制的文件,才能将其加入忽略列表。
已经被SVN控制的文件,不能直接加入忽略列表,所以你那项菜单是灰色的,你可以把这个文件或文件夹导出(export)另存,在原本地工作区中删除这个文件或文件夹,并commit,然后再把导出的文件复制回来,这时复制回来的文件就不受SVN控制了,你就可以对它设置加入忽略列表。)

在Eclipse的导航视图中,选中尚未加入版本控制的文件或目录,右键 --> Team --> 添加至SVN:ignore



资源管理器中,右键一个未加入版本控制文件或目录,并从弹出菜单选择TortoiseSVN →Add to Ignore List,会出现一个子菜单,允许你仅选择该文件或者所有具有相同后缀的文件。



如果你想从忽略列表中移除一个或多个条目,右击这些条目,选择TortoiseSVN →从忽略列表删除。

另一个忽略文件的方法是添加这些文件到globalignore list .他们最大的不同是全局忽略列表是一个客户端特性。它会作用到所有的(all)subversion 项目。但只能在pc客户端使用。

Subversion 的忽略模式使用了文件匹配,一种原先在Unix系统中使用meta字符作为通配符的技术。下面的字符有着特殊的意思:

  •  * 匹配任何字符串,包括空串(没有字符)
  •  ? 匹配任何单字符
  •  [...] 匹配任何单在方括号[]内的单字符,在方括号内,一对字符被“-”分隔,匹配任何词汇表(lexically)上在他们中间的字符。例如[AGm-p]匹配任何单个的A,G,m,n,o或者p。

模式匹配是大小写敏感的,这在Windows 平台下会出问题。你可以使用成对的字符来强制忽略大小写。例如,忽略不记 *.tmp 的大小写,那么你可以使用像 *.[Tt][Mm][Pp] 这样的模式。

如果你想要一个官方定义的匹配规则。你可以在关于shell命令行语言的IEEE规范PatternMatching Notation中找到。