Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
ctapmex opened this issue Jan 4, 2021 · 0 comments

Comments

@ctapmex
Copy link
Member

ctapmex commented Jan 4, 2021

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

@ctapmex ctapmex transferred this issue from FarPluginsArchive/farplug-alvls Jan 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant