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

113

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

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

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

M4N
источник

Ответы:

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

Greg
источник
10
Большое спасибо! Я обнаружил, что есть даже предопределенный фильтр для исключения файлов и папок системы управления версиями.
M4N,
1
Привет, Мартин, вы также можете принять ответ 4h24d, поскольку он проще, чем этот, и уместен, и поэтому до сих пор был признан лучше.
chiccodoro
Лучший фильтр "\\\. Svn $" (предопределенный фильтр), чтобы вы соответствовали '.' а не <любой символ> перед svn.
Вернер Хенце,
84

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

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

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

djule5
источник
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.
Вернер Хенце,