far2l
far2l copied to clipboard
rename folder in case-insensitive File System
Example, if in ExFAT fs rename folder Books to books, recursively created folder ./Books/Books/Books/Books/Books/.....
А если выбрать режим "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
пока ~прилепил подорожник~ сделал чтобы ругалось 'Cannot copy onto itself' а потом после релиза можно и через временное имя сделать
Хм, на ExFAT ничего в поведении не изменилось.
При "Умном копировании ссылки или файла" или "Копировании как файл" по-прежнему рекурсивно создаёт вложеннные папки. При "Всегда копировать ссылку" выдаёт ошибку "Недопустимый аргумент (22)".
А, ну да, логично. 🤪
https://github.com/elfmz/far2l/blob/0c581fa92e8fd81b2542da5a185232a19b43336d/far2l/src/copy.cpp#L1106
эм, а что там еще добавить? я думал vfat - это все всякие фаты покрывает,.
Ну, похоже, "exfat". Во всяком случае у меня локально сработало.
Ну в древности ещё как msdos и просто fat монтировали (это вроде только с поддержкой коротких имён), но сейчас такое встретить наверное надо специально заморочится, ибо они уже давно алиасятся на vfat, хотя могу ошибаться.