Як ігнорувати папки SVN у WinMerge?


113

Я намагаюся рекурсивно порівнювати дві папки робочої копії Subversion за допомогою WinMerge.

На жаль, WinMerge відображає безліч файлів розрізнення всередині папок керування субверсією ( .svnабо _svn).

Чи можна якось виключити із порівняння папки-підривники? Або є інший (безкоштовний) інструмент "diff", який здатний це зробити?

Відповіді:


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, оскільки це простіше, ніж це і доцільно, і тому до цих пір було проголосовано краще.
чікодоро

Краще фільтр "\\\. Svn $" (попередньо визначений фільтр), щоб ви відповідали "." а не <будь-який символ> перед 'svn'.
Вернер Гензе

84

Спробуйте вбудований фільтр файлів

WinMerge (версія 2.12.4) вже містить a фільтр для виключення вихідних файлів управління та каталогів, і він називається Виключити контроль над джерелами .

Він працює для Subversion, CVS, Git, Bazaar та Mercurial, і вам не потрібно, щоб ви створили фільтр, потрібно просто застосувати його під час порівняння.


4
спасибі за інформацію. Я хотів би уникати вибору кожного разу, коли я порівнюю. чи все-таки ми можемо змусити його застосовувати файли "Виключити контроль джерела" за замовчуванням?
Мейз

1
Я не отримав цю опцію в новому встановленні, коли вибрав 2 папки і натиснув "Порівняти". Щоб увімкнути це, мені довелося вибрати одну папку, натисніть "Порівняти ...", де відображається діалогове вікно з деякими параметрами для фільтрів. Тут я вибрав другу папку та фільтр "Виключити контроль над джерелами", і вона спрацювала. Фільтр зберігається, тому новий, якщо я просто виберу 2 папки та натисніть "Порівняти", фільтр застосовується без діалогового вікна.
Ліам

22

Відміняйте деякі рядки у вбудованому 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

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