Как игнорировать папки SVN в WinMerge?

Я пытаюсь рекурсивно сравнить две папки рабочей копии Subversion с помощью WinMerge.

к сожалению, WinMerge отображает множество файлов различий внутри папок управления subversion (.svn или _svn).

можно ли каким-то образом исключить папки subversion из сравнения? Или есть другой (бесплатный) инструмент diff, который может это сделать?

3 ответов


попробуйте сделать Filefilter

WinMerge справляется с этим просто отлично. Вы хотите создать и использовать фильтр. Под Tools | Filters... | Filefilters создать новый фильтр или измените существующую.

это будет выглядеть так:

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

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

сохраните его, затем при выборе элементов для слияния выберите фильтр, который вы определили из окне. Бонусные баллы: он сохранит это и использует его по умолчанию для будущих слияний.


Попробуйте Встроенный Фильтр Файлов

WinMerge (версия 2.12.4) уже включает в себя фильтр чтобы исключить файлы и каталоги управления версиями, и это называется Исключить Управление Версиями.

он работает для Subversion, CVS, Git, Bazaar и Mercurial, и вам не нужно создавать фильтр, вам просто нужно применить его во время сравнения.


раскомментируйте некоторые строки в встроенном filefilter

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