Skip to content

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

@ctapmex

Description

@ctapmex

При сравнении стоят галочки [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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions