far2l icon indicating copy to clipboard operation
far2l copied to clipboard

rename folder in case-insensitive File System

Open rty65tt opened this issue 1 year ago • 6 comments

Example, if in ExFAT fs rename folder Books to books, recursively created folder ./Books/Books/Books/Books/Books/.....

rty65tt avatar May 06 '24 15:05 rty65tt

А если выбрать режим "With symlinks: Always copy link", far2l плюётся ошибкой:

Недопустимый аргумент (22)
Cannot rename the folder Books

Любопытно, что аналогичным образом ведёт себя и Midnight Commander:

Не удалось переместить каталог "/media/~t/Books" в "/media/~s/Books"
Недопустимый аргумент (22)

А вот Double Commander и Dolphin (KDE) с переименованием справляются и, судя по логу strace, делают это через промежуточное временное имя:

Double Commander
26722 rename("/media/ExFat/Books", "/media/ExFat/Books~890783156.tmp") = 0
26722 rename("/media/ExFat/Books~890783156.tmp", "/media/ExFat/books") = 0
Dolphin
7674  renameat2(AT_FDCWD, "/media/ExFat/books", AT_FDCWD, "/media/ExFat/books.gFllUC", RENAME_NOREPLACE) = 0
7674  renameat2(AT_FDCWD, "/media/ExFat/books.gFllUC", AT_FDCWD, "/media/ExFat/Books", RENAME_NOREPLACE) = 0

spnethw avatar May 20 '24 19:05 spnethw

пока ~прилепил подорожник~ сделал чтобы ругалось 'Cannot copy onto itself' а потом после релиза можно и через временное имя сделать

elfmz avatar Jul 14 '24 20:07 elfmz

Хм, на ExFAT ничего в поведении не изменилось.

При "Умном копировании ссылки или файла" или "Копировании как файл" по-прежнему рекурсивно создаёт вложеннные папки. При "Всегда копировать ссылку" выдаёт ошибку "Недопустимый аргумент (22)".

А, ну да, логично. 🤪

https://github.com/elfmz/far2l/blob/0c581fa92e8fd81b2542da5a185232a19b43336d/far2l/src/copy.cpp#L1106

spnethw avatar Jul 15 '24 04:07 spnethw

эм, а что там еще добавить? я думал vfat - это все всякие фаты покрывает,.

elfmz avatar Jul 15 '24 10:07 elfmz

Ну, похоже, "exfat". Во всяком случае у меня локально сработало.

spnethw avatar Jul 15 '24 10:07 spnethw

Ну в древности ещё как msdos и просто fat монтировали (это вроде только с поддержкой коротких имён), но сейчас такое встретить наверное надо специально заморочится, ибо они уже давно алиасятся на vfat, хотя могу ошибаться.

akruphi avatar Jul 15 '24 11:07 akruphi