AleXH wrote:наравне с CRC32 хотелось бы альтернативы - SHA1 или SHA256.
Через FAR API панельные плагины могут выставить только CRC32, чем данный плагин и пользуется. Чтобы сравнивать другие контрольные суммы, потребовалось бы знание о природе архива, в общем случае — распаковка.
Всем привет. Установил себе сей плагин, очень понравился. Но сходу есть проблема в режиме синхронизации: после закрытия итогового диалога сравнения и положительного ответа на синхронизацию файлов плагин запускает копирование с неправильными именами. У меня это приводит к ошибке "The system cannot find the path specified" - неправильно задается имя файла-приемника.
Бываю тут на форуме редко, поэтому если что-то не нашел или пропустил - прошу прощения.
Far 3.0.0.4130 (x64), AdcCmp 3.0.0.34. Шаги:
- запускаем плагин в режиме синхронизации;
- после окончания появляется итоговый диалог сравнения;
- закрываем, появляется предупреждающий диалог "скопировать N файлов", по умолчанию пункт диалога выбран;
- давим "Ок", и сразу же получаем ошибку "The system cannot find the path specified";
На панелях рекурсивно раскрытые бранчем 2 папки, панели находились в разных режимах сортировки (режимы на панелях могут и совпадать, главное, чтобы порядок файлов на панелях был иным), затем к ним был применён сабж с отображёнными настройками. Сабж пометил 118 из 2314 файлов, отображённых на обоих панелях, как разные. Для наглядности панели затем были приведены к одному режиму сортировки и мы можем видеть, что размер у файлов одинаков. На самом деле лишь 3 файла в папках отличны, все остальные копии.
При попытке переноса настроек FAR с версии 3525 на одной установке Windows на FAR версии 4242 на другой установке (с помощью "far /export" и "far /import"): при запуске FAR выдаётся сообщение "Error loading plugin (full path)\AdvCmp.dll. %1 is not a valid Win32 application".
При удалении папки AdvCmp из плагинов всё работает корректно.
Очистка кеша плагинов ничего не меняет.
╔═════════════════════ Advanced compare files ═════════════════════╗
║ Mode work plug-in: 1. Compare files ↓║
║ [ ] compare case-sensitive names ║
║ [ ] size ║
║ [ ] time ║
║ [ ] seconds: (•) ignore ( ) two seconds precision ║
║ [ ] ignore time zone differences ║
║ [x] contents ║
║ [ ] only if the time is different ║
║ [ ] cache: ( ) ignore (•) use [ F8-Clear ] ║
║ [ ] partly: ( ) full file (•) fragment (Kb): 64 ║
║ [ ] ignore: all whitespace characters ↓║
╟──────────────────────────────────────────────────────────────────╢
║ [x] Subfolders, maximum folder depth 10 ║
║ [x] Scan symbolic links ║
║ [ ] Skip in filename: ║
║ [ ] Stop on diff./duplicate [ ] Use file filter [ F4 ] ║
║ [ ] Process only selected items [ ] Select new files ║
║ [ ] Only in right panel [ ] Ignore missing items ║
║ [ ] Light synchronization ║
║ [x] Display messages [ ] Sound notification ║
║ [ ] Show results dialog [x] Total progress indicator ║
╟──────────────────────────────────────────────────────────────────╢
║ { Ok } [ F2-Under cursor ] [ Cancel ] ║
╚══════════════════════════════════════════════════════════════════╝
В данной конфигурации, в сценарии сравнения содержимого каталогов смонтированного VHD и его побитной копии на физическом диске, никакого фактического сравнения не происходило, как показали результаты изменения HEX редактором случайных мест в случайных файлах, очень быстро бежал прогрессбар, но не так быстро, как при включенной опции "only if the time is different", для которой и характерно такое поведение. В этой конфигурации в других сценариях плагин работает корректно.
В Far Manager, version 2.0 (build 1807) x86 и AdvCmp.dll v2.0.0.33 в вышеописанном сценарии ведет себя корректно.
Прошу разобраться и принять меры
Last edited by pukan1 on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason:[code], [spoiler]
могу только предполагать, что это из-за проверки BY_HANDLE_FILE_INFORMATION:
из лога изменений:
[+] Еще ускорение сравнения: проверяем некоторую идентичность BY_HANDLE_FILE_INFORMATION.
Alexey Samlyukov wrote: "каталогов смонтированного VHD " я даже не знаю что это
Подозреваю, что Virtual Hard Drive. Т.е. образ диска (например, виртуалки) монтируется в качестве тома.
Все верно.
Alexey Samlyukov wrote: могу только предполагать, что это из-за проверки BY_HANDLE_FILE_INFORMATION:
из лога изменений:
[+] Еще ускорение сравнения: проверяем некоторую идентичность BY_HANDLE_FILE_INFORMATION.
Теперь я не понимаю о чем Вы Но, полагаю, что в вышеописанном сценарии такое поведение - это баг, а не фича.
Этот плагин умеет сравнивать два текстовых файла и показывать различия в них? Требуется сравнивать текстовые конфиги при обновлении прорамм и вносить изменения в старый на основании нового. Если не умеет, то посоветуйте плагин под 3 FAR.