我正在尝试使用WinMerge递归比较两个Subversion工作副本文件夹。
不幸的是,WinMerge在Subversion控制文件夹(.svn
或_svn
)中显示了很多差异文件。
有没有可能从比较中排除Subversion文件夹?还是有其他(免费)的差异工具可以做到这一点?
WinMerge可以很好地处理这个问题。你需要创建并使用一个过滤器。在工具|过滤器...|文件过滤器
下,创建一个新的过滤器或修改现有的过滤器。
它将看起来像这样:
## Ignore Java class and jar files
f: \.class$
f: \.jar$
## Ignore subversion housekeeping directories
d: \\.svn$
d: \\._svn$
保存后,在选择要合并的项目时,从选择文件或文件夹
对话框中选择您定义的筛选器。额外加分:它将保存此设置并将其用作将来合并的默认设置。
WinMerge (2.12.4版本) 已经内置了一个文件过滤器,可以排除源代码控制系统的文件和目录,该过滤器被称为排除源代码控制。
它适用于Subversion、CVS、Git、Bazaar和Mercurial,使用时无需创建过滤器,只需要在比较期间应用即可。
WinMerge(版本2.12.4)已经包含一个过滤器,但是(至少在我的安装中),Subversion,Git和Bazaar的过滤器被注释了。
导航到这里:工具| 过滤器| 文件过滤器| 排除源代码控件
(双击进行编辑)
将这些行编辑为以下内容:
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