AdvCmpEx — Сравнение и синхронизация файлов

Здесь можно обсудить ваш любимый плагин.
MaxU
Posts: 106
Joined: Tue 31 May, 2005 14:14
Been thanked: 1 time

AdvCmpEx — Сравнение и синхронизация файлов

Post by MaxU »

Latest post of the previous page:

Плагин стал "стабильно" крашиться в Far 3.0.5146x86:

╔══════════════════════════ Exception occurred ══════════════════════════╗ ║ Exception: 0xC00000FD - EXCEPTION_STACK_OVERFLOW ║ ║ Details: A new guard page for the stack cannot be created ║ ║ Address: 0x52DD6197 - ExitFARW ║ ║ Source: ║ ║ Function: OpenW ║ ║ Module: C:\Program Files (x86)\Far Manager\Far.exe ║ ╟────────────────────────────────────────────────────────────────────────╢ ║ { Terminate Far } [ Stack ] [ Minidump ] [ Ignore ] ║ ╚════════════════════════════════════════════════════════════════════════╝
Планируются ли новые версии?

PS или подскажите другой плагин синхронизации, который поддерживает филььрование по именам файлов/директорий.

Спасибо!
DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 times
Been thanked: 15 times

AdvCmpEx — Сравнение и синхронизация файлов

Post by DV »

Если в процессе длительного сравнения файлов с панелей нажать Esc, а потом продолжить сравнение (выбрать Нет на вопрос о прерывании сравнения), то перерисовывается только внутренняя "рабочая зона" диалога прогресса сравнения, а "рамочка" диалога исчезает.
AdvCmpEx 3.0 Build 036, FAR 3.0.5221 x86.
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

AdvCmpEx — Сравнение и синхронизация файлов

Post by buniak_a_h »

Долгое время не мог пользоваться этим плагином, т.к. он не находил установленную программу WinMerge. Наконец, решил почитать hlf ... И там:
2. Текстовый - с помощью WinMerge, ищется в "%ProgramFiles%\WinMerge\WinMergeU.exe".
А на самом деле:
(а) на 64-разрядной ОС WinMerge ставится в %ProgramFiles(x86)%\WinMerge\
(б) а никто не запрещает ставить в другое место.
Отсюда явно требуется доработка плагина: настройка либо пути к WinMerge, либо (что, по-моему, и проще, и гибче) настройка команды сравнения. Например, чтоб можно было указать командную строки вида

Code: Select all

VC: "%1" "%2"
User avatar
Alexey Samlyukov
Posts: 1765
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

AdvCmpEx — Сравнение и синхронизация файлов

Post by Alexey Samlyukov »

buniak_a_h, почитайте WhatsNewRus.txt
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

AdvCmpEx — Сравнение и синхронизация файлов

Post by buniak_a_h »

Alexey Samlyukov wrote: Fri 07 Dec, 2018 05:13 buniak_a_h, почитайте WhatsNewRus.txt
Вы имеете в виду следующее?
[+] Можно задать другой путь до WinMerge, через импорт файла-настроек,
как-то так:

<?xml version="1.0" encoding="UTF-8" ?>
<farconfig>
<pluginsconfig>
<plugin guid="ED0C4BD8-D2F0-4B6E-A19F-B0B0137C9B0C">
<hierarchicalconfig>
<key name="ED0C4BD8-D2F0-4B6E-A19F-B0B0137C9B0C" description="AdvCmp">
<value name="WinMergePath" type="text" value="%FARHOME%\Util\WinMerge\WinMergeU.exe" />
</key>
</hierarchicalconfig>
</plugin>
</pluginsconfig>
</farconfig>
Я немного не понял, для кого это написано. Ну, наберу я такой файл. А дальше? Куда я должен этот файл записать? Или команду какую выдать? В меню настроек плагинов AdvCmpEx нет, иначе я бы искал там пункт "импорт настроек". Как "импортировать настройки"? Через far /import ?
Last edited by buniak_a_h on Fri 07 Dec, 2018 13:37, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

AdvCmpEx — Сравнение и синхронизация файлов

Post by John Doe »

buniak_a_h wrote: Fri 07 Dec, 2018 13:37 Через far /import ?
Именно.
akindhacker
Posts: 53
Joined: Wed 19 Apr, 2006 00:07

AdvCmpEx — Сравнение и синхронизация файлов

Post by akindhacker »

Как насчёт такой фичи? При выборе дубликатов для удаления часто необходимо оставить хотя бы один файл из группы. Поэтому было б удобно если в статусной строке красным показывалось количество групп в которых выбраны для удаления ВСЕ ФАЙЛЫ.
Creative
Posts: 1
Joined: Fri 15 Nov, 2019 12:17

AdvCmpEx — Сравнение и синхронизация файлов

Post by Creative »

Добрый день, приветствую, всех - я новичек на форуме.

Вопрос - может ли данный плагин сравнить только имена файлов без расширения?

не нашел данной опции. Мне это необходимо для сравнения соответствия фотографий
и их цифровых негативов.
User avatar
Dennis_Moore
Posts: 295
Joined: Tue 03 Mar, 2015 19:54
Location: Kiev
Has thanked: 6 times
Been thanked: 17 times

AdvCmpEx — Сравнение и синхронизация файлов

Post by Dennis_Moore »

Creative wrote: Fri 15 Nov, 2019 12:49 Вопрос - может ли данный плагин сравнить только имена файлов без расширения?
Вроде-бы нет. Но можно попробовать так:
  • На одной из панелей выполняем ren *.<нужное расширение>
  • Сравниваем
  • На панели из первого пункта ren *.<исходное расширение>
Для удобства можно поместить в User menu (F2)
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

AdvCmpEx — Сравнение и синхронизация файлов

Post by citRiks »

Creative wrote: Fri 15 Nov, 2019 12:49 может ли данный плагин сравнить только имена файлов без расширения?
Тут дан положительный ответ:

Code: Select all

Skip in filename: \..+$
DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 times
Been thanked: 15 times

AdvCmpEx — Сравнение и синхронизация файлов

Post by DV »

Пользуюсь плагином давно и очень доволен его работой!
При сравнении стоят галочки [x] size [x] contents [x] Subfolders
В редких случаях при сравнении вложенных папок плагин ошибается, выделяя папку с более старыми файлами вместо папки с более новыми файлами. Исследовав данное поведение, пришёл к выводу, что в этом случае плагин выделяет папку с более новой меткой времени самой папки, игнорируя то, что внутри этой папки находятся файлы с более старой датой.
В данной ситуации мне непонятно, почему плагин вообще ориентируется на дату папки, если у меня даже не установлена галочка [ ] time ? Возможно, это из соображений скорости? Однако, из соображений надёжности, лучше сравнивать не метки времени самих папок, а метки времени файлов внутри этих папок.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

AdvCmpEx — Сравнение и синхронизация файлов

Post by HaRT »

DV wrote: Fri 25 Sep, 2020 10:26 плагин ошибается, выделяя папку с более старыми файлами вместо папки с более новыми файлами
Насколько я понимаю, плагин выделяет папки, внутри которых есть различия. Или вы утверждаете, что ваши старые и новые файлы различаются только датой?
Фар есть инструмент, а не нянька. © 2009 DrKnS
DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 times
Been thanked: 15 times

AdvCmpEx — Сравнение и синхронизация файлов

Post by DV »

Пример:
Слева открыта папка Old с подпапками AAA и BBB, справа открыта папка New с подпапками AAA и BBB. Схематично изобразим дерево папок так:

Code: Select all

 -------------------------------------------------------------------
| Путь                Время       | Путь            Время           |
|---------------------------------|---------------------------------|
| Old        <DIR>                | New        <DIR                 |
|   AAA      <DIR>    позавчера   |   AAA      <DIR>    вчера       |
|     a.txt           позавчера   |     a.txt           вчера       |
|   BBB      <DIR>    сегодня     |   BBB      <DIR>    вчера       |
|     b.txt           позавчера   |     b.txt           вчера       |
 -------------------------------------------------------------------
Подпапки AAA и BBB в папке New имеют вчерашнюю дату (имеется в виду Last write time этих папок) и содержат обновлённые вчера файлы.

Подпапка AAA в папке Old имеет позавчерашнюю дату и содержит старые позавчерашние файлы.
Подпапка BBB в папке Old имеет сегодняшнюю дату (новее, чем дата подпапки BBB в папке New) и содержит старые позавчерашние файлы.

В результате сравнения плагин AdvCmpEx выделяет подпапку AAA в папке New и подпапку BBB в папке Old.
Ожидается, что выделятся подпапки AAA и BBB в папке New, поскольку в них содержатся более новые файлы.

P.S.
По всей видимости, эта же причина мешает корректно сравнить содержимое папок с одинаковой меткой времени этих папок.
Пример: пусть есть папка AAA в левой панели и папка AAA в правой панели, обе с одинаковым Last write time. В левой папке AAA лежит вчерашний файл a.txt, в правой папке AAA лежит сегодняшний файл a.txt, который отличается не только временем создания, но и размером. Однако, при сравнении плагин AdvCmpEx не выделяет папку AAA в правой панели, поскольку, похоже, ограничивается лишь сравнением Last write time этих папок.
Last edited by DV on Tue 29 Sep, 2020 19:21, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

AdvCmpEx — Сравнение и синхронизация файлов

Post by John Doe »

Для справки.
Автор последний раз появлялся на форуме Пт 07 дек, 2018 07:14

Но исходники открыты.
https://t.me/FarManager — Telegram чат
User avatar
Taciturn
Posts: 600
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 89 times
Been thanked: 31 times
Contact:

AdvCmpEx — Сравнение и синхронизация файлов

Post by Taciturn »

skipik wrote: Thu 10 Dec, 2020 22:17 DrKnS, спасибо, я понял. Вариант с правкой плагина мне кажется наиболее оптимальным, вот только найти актуальные исходники я не смог, в версию 3.0.0.34 внёс предложенные вами изменения, проверил - работает. Но после 3.0.0.34 было ещё пару изменений, хотелось бы конечно найти 3.0.0.36 и уже её поправить. :(
Выложите, пожалуйста, полученные бинарники.
skipik
Posts: 318
Joined: Wed 03 Jun, 2015 15:24
Has thanked: 67 times
Been thanked: 29 times

AdvCmpEx — Сравнение и синхронизация файлов

Post by skipik »

Post Reply

Return to “Обсуждение плагинов”