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

时间:2009-09-25 13:18:10

标签: svn diff winmerge

我正在尝试使用WinMerge递归比较两个Subversion工作副本文件夹。

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

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

3 个答案:

答案 0 :(得分:106)

尝试制作Filefilter

WinMerge处理这个很好。您想要创建和使用Filter。在Tools | Filters... | Filefilters下,创建新过滤器或修改现有过滤器。

看起来像这样:

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

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

保存,然后在选择要合并的项目时,从Select Files or Folders对话框中选择您定义的过滤器。奖励积分:它将保存此值并将其用作未来合并的默认值。

答案 1 :(得分:82)

尝试使用内置文件过滤器

WinMerge(版本2.12.4)已包含filter以排除源控制文件和目录,它被称为排除源代码管理

适用于Subversion,CVS,Git,Bazaar和Mercurial,它不需要您创建过滤器,您只需在比较期间应用它。

答案 2 :(得分:20)

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

WinMerge(版本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