如何在 WinMerge 中忽略 SVN 文件夹?

我尝试使用 WinMerge 递归地比较两个 Subversion 工作拷贝文件夹。

不幸的是,WinMerge 在 subversion 控件文件夹(.svn_svn)中显示了许多不同的文件。

是否有可能以某种方式从比较中排除 subversion 文件夹?或者还有其他(免费的)差异工具可以做到这一点?

50131 次浏览

Try making a Filefilter

WinMerge 处理得很好。您希望创建并使用 Filter。在 Tools | Filters... | Filefilters下,创建一个新的筛选器或修改现有的筛选器。

它会像这样:

## Ignore Java class and jar files
f: \.class$
f: \.jar$


## Ignore subversion housekeeping directories
d: \\.svn$
d: \\._svn$

保存它,然后在选择要合并的项时,选择从 Select Files or Folders对话框中定义的筛选器。奖励点: 它将保存这个并将其作为未来合并的默认值。

试试内建文件过滤器

WinMerge (Version 2.12.4)已经包含了一个 过滤器来排除源代码控制文件和目录,它被称为 排除源代码管理

它适用于 Subversion、 CVS、 Git、 Bazaar 和 Mercurial,并且不需要创建过滤器,只需要在比较过程中应用它。

取消注释内置文件过滤器中的某些行

WinMerge (Version 2.12.4)已经包含了一个过滤器,但是(至少在我的安装中) Subversion、 Git 和 Bazaar 的过滤器被注释掉了。

浏览这里: Tools | Filters | Filefilters | Exclude Source Control(双击编辑)

编辑行看起来像这样:

d: \\.svn$ ## Subversion working copy
d: \\_svn$  ## Subversion working copy ASP.NET Hack
d: \\cvs$   ## CVS control directory
d: \\.git$ ## Git directory
d: \\.bzr$ ## Bazaar branch
d: \\.hg$ ## Mercurial repository