Giter Site home page Giter Site logo

farplugins / advcmpex Goto Github PK

View Code? Open in Web Editor NEW
10.0 5.0 1.0 789 KB

Plugin for advanced compare of files in Far Manager

License: BSD 3-Clause "New" or "Revised" License

C++ 84.27% Batchfile 0.17% C 13.79% CMake 1.31% Assembly 0.47%
far3 plugin compare actual

advcmpex's People

Contributors

ctapmex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

advcmpex's Issues

не работают shortcut

  • не работает (ctrl+)пробел для "изменить флаг отличия файлов"
  • не работает ctrl для "показать каталог текущего элемента списка",
  • не работают никакие клики мышью.
    Остальные сочетания клавиш работают.

У себя уже по всякому проверил - никакой реакции. Пустой фар с дефолтными настройками, только этим с одним плагином (+дефолтные), х32-х64, никакой разницы.

megaslowpoke

AdvCmpEx: ограничение сравнения папок датой модификации этих папок

При сравнении стоят галочки [x] size [x] contents [x] Subfolders
В редких случаях при сравнении вложенных папок плагин ошибается, выделяя папку с более старыми файлами вместо папки с более новыми файлами. Исследовав данное поведение, пришёл к выводу, что в этом случае плагин выделяет папку с более новой меткой времени самой папки, игнорируя то, что внутри этой папки находятся файлы с более старой датой.
В данной ситуации мне непонятно, почему плагин вообще ориентируется на дату папки, если у меня даже не установлена галочка [ ] time ? Возможно, это из соображений скорости? Однако, из соображений надёжности, лучше сравнивать не метки времени самих папок, а метки времени файлов внутри этих папок.

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

 -------------------------------------------------------------------
| Путь                Время       | Путь            Время           |
|---------------------------------|---------------------------------|
| 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 этих папок.

https://forum.farmanager.com/viewtopic.php?p=162392#p162392

падение far при закрытии диалога

Windows 7 SP1 x64, FAR 3.0.5737.0 x64, AdvCmpEx 3.3.0.0 x64

╔════════════════════════════ AdvCmpEx ════════════════════════════╗
║           Режим работы плагина:  1. Сравнение файлов            ↓║
║ [x] сравнивать имена файлов с учетом регистра                    ║
║ [x] размер                                                       ║
║ [ ] время                                                        ║
║     [x] секунды: ( ) пропустить  (•) двухсекундная точность      ║
║     [x] игнорировать различия часовых поясов                     ║
║ [ ] содержимое                                                   ║
║     [ ] только если различаются временем                         ║
║     [ ] кэш: ( ) игнорировать    (•) использовать  [ F8-Чистка ] ║
║     [x] частично: ( ) весь файл  (•) фрагмент (Кб): 64           ║
║     [ ] игнорировать: все пробельные символы                    ↓║
╟──────────────────────────────────────────────────────────────────╢
║ [x] Вложенные папки, уровнем вложенности не более 10             ║
║ [ ] Сканировать символические ссылки                             ║
║ [ ] Игнорировать в имени файла:                                 ↓║
║ [ ] Стоп на различии/дубликате   [x] Фильтр файлов        [ F4 ] ║
║ [ ] Только помеченные объекты    [ ] Выделять новые файлы        ║
║ [ ] Только на правой панели      [?] Игнорировать отсутствующие  ║
║ [ ] Легкая синхронизация                                         ║
║ [x] Показывать сообщения         [ ] Оповещать звуком            ║
║ [x] Показывать итоговый диалог   [x] Общий индикатор сравнения   ║
╟──────────────────────────────────────────────────────────────────╢
║             { ОК } [ F2-Под курсором ] [ Отменить ]              ║
╚══════════════════════════════════════════════════════════════════╝

Вызываем диалог и сразу же жмём ESC.
FAR схлопывается.

https://forum.farmanager.com/viewtopic.php?p=164577#p164577

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.