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


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

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

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

3 107

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, и вам не нужно создавать фильтр, вам просто нужно применить его во время сравнения.

раскомментируйте некоторые строки в встроенном фильтре

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