elfmz / far2l

Linux port of FAR v2
GNU General Public License v2.0
1.7k stars 168 forks source link

rename folder in case-insensitive File System #2204

Open rty65tt opened 2 months ago

rty65tt commented 2 months ago

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

spnethw commented 1 month ago

А если выбрать режим "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