Удаление содержимого каталогов при удалении символических ссылок
Удаление содержимого каталогов при удалении символических ссылок
В текущей стабильной версии (3.0 build 5151 x64, Windows 7 64-bit SP1) при удалении нескольких символических ссылок (junctions) происходит удаление содержимого каталогов, на которые ссылки указывают, а должны удаляться только ссылки.
При удалении одной ссылки всё обрабатывается корректно - программа понимает, что удаляется ссылка. Однако, если выделено несколько ссылок, то в процессе удаления (по SHIFT+DEL) начинают появляться предупреждения об удалении содержимого целевых каталогов...
См. тж. похожую проблему в ночной сборке 5114 (вроде бы, исправлена была, но, видимо, частично).
В свежей ночной сборке не проверял пока, постараюсь сделать это позже...
При удалении одной ссылки всё обрабатывается корректно - программа понимает, что удаляется ссылка. Однако, если выделено несколько ссылок, то в процессе удаления (по SHIFT+DEL) начинают появляться предупреждения об удалении содержимого целевых каталогов...
См. тж. похожую проблему в ночной сборке 5114 (вроде бы, исправлена была, но, видимо, частично).
В свежей ночной сборке не проверял пока, постараюсь сделать это позже...
- HaRT
- Moderator
- Posts: 10866
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Удаление содержимого каталогов при удалении символических ссылок
Влияет ли на это поведение значение опции
Scan symbolic links
в System settings
?Фар есть инструмент, а не нянька. © 2009 DrKnS
Удаление содержимого каталогов при удалении символических ссылок
Если опция включена (видимо, по умолчанию так), то задаются вопросы (мол, каталог такой-то будет удалён), а если опция отключена, то эти вопросы не задаются и всё (включая, содержимое целевых каталогов) тихонько удаляется...
Удаление содержимого каталогов при удалении символических ссылок
Похоже, проблема исправлена: в ночной сборке 5188 x86 (с настройками по умолчанию, в той же ОС - установка по соседству) проблема не воспроизводится - удаляются только символические ссылки без удаления содержимого целевых каталогов (никаких лишних вопросов не задаётся).
Удаление содержимого каталогов при удалении символических ссылок
drkns 29.03.2018 13:05:45 +0300 - build 5175
1. С форума: падение при File panel modes -> Ins Enter.
2. Некорректно работало удаление нескольких выделенных симлинков.
3. Рефакторинг.
Удаление символических ссылок
Наткнулся на неприятное поведение FARа.
Если удаляем один симлинк, то всё хорошо, он разрывается. А если выделаем и удаляем несколько, или симлинки находятся в подкаталогах, то происходит удаление содержимого внутри симлинка, а затем его удаление, вместо разрывания связей.
[ ] Сканировать символические ссылки отключено
Far Manager, version 3.0 (build 5151) x64
Почему это плохо? Пример: Копирую папку с профилями c:\users. Удаляю только что скопированное. При этом удалилось половина содержимого профиля.
Если удаляем один симлинк, то всё хорошо, он разрывается. А если выделаем и удаляем несколько, или симлинки находятся в подкаталогах, то происходит удаление содержимого внутри симлинка, а затем его удаление, вместо разрывания связей.
[ ] Сканировать символические ссылки отключено
Far Manager, version 3.0 (build 5151) x64
Почему это плохо? Пример: Копирую папку с профилями c:\users. Удаляю только что скопированное. При этом удалилось половина содержимого профиля.
Last edited by xyz on Fri 07 Jun, 2019 11:05, edited 1 time in total.
Удаление символических ссылок
Похоже наткнулся на старый баг viewtopic.php?f=9&t=11175
Last edited by xyz on Fri 07 Jun, 2019 11:14, edited 1 time in total.
Удаление содержимого каталогов при удалении символических ссылок
Я нашёл проблему, вроде бы связанную с обсуждаемой выше, так что добавляю сюда.
Поведение наблюдаемо, например, в 3.0.5433 x64 под Windows 7 / SP1 / x64.
Проблема: перенос символических ссылок с одного диска на другой приводит к "удалению содержимого каталогов, на которые ссылки указывают" (совершенно, как в первом сообщении выше).
Подробнее:
A) выбираем одну или несколько (в данном сценарии это, похоже, не важно) symlink, скажем C:\LinkieA (ссылка на какую-то директорию на диске, скажем, M: с разным хламом внутри)
B) совершаем F6 / Move на какой-нибудь другой диск, скажем, K:
Результаты:
1) получаем в K:\LinkieA физическую копию директории, на которую указывала ссылка (пока всё ожидаемо и в порядке)
2) ссылка , равно как и содержимое физического каталога, на коий она указывала, удаляется. Что очень напоминает проблему, исправленную в build 5175.
И между прочим, хотя это и не обязательно, на мой взгляд было бы полезно и логично, если бы команды Copy/Move особливо при выключенной опции "Copy contents of symbolic links" создавали в директории назначения "копию" ссылки с теми же параметрами, что у копируемой/переносимой. Но это уже совсем другая история.
Поведение наблюдаемо, например, в 3.0.5433 x64 под Windows 7 / SP1 / x64.
Проблема: перенос символических ссылок с одного диска на другой приводит к "удалению содержимого каталогов, на которые ссылки указывают" (совершенно, как в первом сообщении выше).
Подробнее:
A) выбираем одну или несколько (в данном сценарии это, похоже, не важно) symlink, скажем C:\LinkieA (ссылка на какую-то директорию на диске, скажем, M: с разным хламом внутри)
B) совершаем F6 / Move на какой-нибудь другой диск, скажем, K:
Результаты:
1) получаем в K:\LinkieA физическую копию директории, на которую указывала ссылка (пока всё ожидаемо и в порядке)
2) ссылка , равно как и содержимое физического каталога, на коий она указывала, удаляется. Что очень напоминает проблему, исправленную в build 5175.
И между прочим, хотя это и не обязательно, на мой взгляд было бы полезно и логично, если бы команды Copy/Move особливо при выключенной опции "Copy contents of symbolic links" создавали в директории назначения "копию" ссылки с теми же параметрами, что у копируемой/переносимой. Но это уже совсем другая история.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Удаление содержимого каталогов при удалении символических ссылок
В каком состоянии опция "Copy contents of symbolic links"?
Что имеется в виду?
Удаление содержимого каталогов при удалении символических ссылок
Обычно, по умолчанию, т.е. опция выключена. Но я проверял и с включённой: тот же плачевный результат.
Если мы копируем или перемещаем на другой диск symlink, указывающий на физический объект L:\SomePhysFolder, создать в каталоге назначения symlink, указывающий на этот же физический объект. Идея была, вроде бы, отвергнута в теме Hardlinks/symlinks/junctions — хардлинки/симлинки/связи, но на мой взгляд не слишком убедительно. Кстати, есть даже по крайней мере одна программа с описанным подходом.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Удаление содержимого каталогов при удалении символических ссылок
Именно это и происходит при выключенной опции и при условии того, что приёмник поддерживает ссылки, и так было всегда (ну или последние лет 10 точно).
Удаление содержимого каталогов при удалении символических ссылок
Что, даже, если с одного сетевого диска NTFS на другой (тоже NTFS)? Я только что проверил с сетевого L: на C: и symlink-овая директория превратилась в физический каталог (при выключенной опции).
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Удаление содержимого каталогов при удалении символических ссылок
Нет и так и задумано:
hlf:CopyRule
Если сразу писать, что речь о сети - можно сэкономить время.
А это баг, да. Очень старый, еще аж с 1.7. Исправлено в 5435.ссылка , равно как и содержимое физического каталога, на коий она указывала, удаляется
Удаление содержимого каталогов при удалении символических ссылок
Виноват-с. Да, речь всю дорогу шла о переносе с сетевого диска, скажем, M: на сетевой же, допустим, K:. И при такой операции как раз и происходит удаление содержимого физического каталога, как было описано выше. В 5436 тоже.