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


113

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

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

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

Ответы:


111

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

WinMerge прекрасно с этим справляется. Вы хотите создать и использовать фильтр . В разделе 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диалоговом окне. Бонусные баллы: он сохранит это и будет использовать по умолчанию для будущих слияний.


10
Большое спасибо! Я обнаружил, что есть даже предопределенный фильтр для исключения файлов и папок системы управления версиями.
M4N,

1
Привет, Мартин, вы также можете принять ответ 4h24d, поскольку он проще, чем этот, и уместен, и поэтому до сих пор был признан лучше.
chiccodoro

Лучший фильтр "\\\. Svn $" (предопределенный фильтр), чтобы вы соответствовали '.' а не <любой символ> перед svn.
Вернер Хенце,

84

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

WinMerge (версия 2.12.4) уже включает фильтр для исключения файлов и каталогов системы управления версиями, который называется « Исключить управление исходным кодом» .

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


4
Спасибо за информацию. я бы не хотел выбирать каждый раз, когда сравниваю. есть ли способ заставить его применять файлы «Исключить исходный код» по умолчанию?
Mahes

1
У меня не было этой опции при новой установке, когда я выбрал 2 папки и нажал «Сравнить». Чтобы включить его, мне пришлось выбрать одну папку и нажать «Сравнить ...», в котором отображается диалоговое окно с некоторыми параметрами фильтров. Здесь я выбрал вторую папку и фильтр «Исключить исходный код», и это сработало. Фильтр сохранен, поэтому если я просто выберу 2 папки и нажму «Сравнить», фильтр будет применен без диалога.
Лиам,

22

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

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

Лучший фильтр "\\\. Svn $" (предопределенный фильтр), чтобы вы соответствовали '.' а не <любой символ> перед svn.
Вернер Хенце,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.