Удаление содержимого каталогов при удалении символических ссылок

Здесь можно сообщить о найденных багах в Far.
AntonK
Posts: 12
Joined: Sat 30 Jan, 2016 07:23
Has thanked: 4 times
Contact:

Удаление содержимого каталогов при удалении символических ссылок

Post by AntonK »

В текущей стабильной версии (3.0 build 5151 x64, Windows 7 64-bit SP1) при удалении нескольких символических ссылок (junctions) происходит удаление содержимого каталогов, на которые ссылки указывают, а должны удаляться только ссылки.
При удалении одной ссылки всё обрабатывается корректно - программа понимает, что удаляется ссылка. Однако, если выделено несколько ссылок, то в процессе удаления (по SHIFT+DEL) начинают появляться предупреждения об удалении содержимого целевых каталогов...
См. тж. похожую проблему в ночной сборке 5114 (вроде бы, исправлена была, но, видимо, частично).
В свежей ночной сборке не проверял пока, постараюсь сделать это позже...
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Удаление содержимого каталогов при удалении символических ссылок

Post by HaRT »

Влияет ли на это поведение значение опции Scan symbolic links в System settings?
Фар есть инструмент, а не нянька. © 2009 DrKnS
AntonK
Posts: 12
Joined: Sat 30 Jan, 2016 07:23
Has thanked: 4 times
Contact:

Удаление содержимого каталогов при удалении символических ссылок

Post by AntonK »

HaRT wrote: Thu 12 Apr, 2018 15:19 Влияет ли на это поведение значение опции Scan symbolic links в System settings?
Если опция включена (видимо, по умолчанию так), то задаются вопросы (мол, каталог такой-то будет удалён), а если опция отключена, то эти вопросы не задаются и всё (включая, содержимое целевых каталогов) тихонько удаляется...
AntonK
Posts: 12
Joined: Sat 30 Jan, 2016 07:23
Has thanked: 4 times
Contact:

Удаление содержимого каталогов при удалении символических ссылок

Post by AntonK »

Похоже, проблема исправлена: в ночной сборке 5188 x86 (с настройками по умолчанию, в той же ОС - установка по соседству) проблема не воспроизводится - удаляются только символические ссылки без удаления содержимого целевых каталогов (никаких лишних вопросов не задаётся).
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

Удаление содержимого каталогов при удалении символических ссылок

Post by 2useven10 »

AntonK wrote: Thu 12 Apr, 2018 15:42 Похоже, проблема исправлена: в ночной сборке 5188
drkns 29.03.2018 13:05:45 +0300 - build 5175

1. С форума: падение при File panel modes -> Ins Enter.

2. Некорректно работало удаление нескольких выделенных симлинков.

3. Рефакторинг.
User avatar
xyz
Posts: 156
Joined: Sun 20 Mar, 2005 13:26
Has thanked: 1 time
Contact:

Удаление символических ссылок

Post by xyz »

Наткнулся на неприятное поведение FARа.
Если удаляем один симлинк, то всё хорошо, он разрывается. А если выделаем и удаляем несколько, или симлинки находятся в подкаталогах, то происходит удаление содержимого внутри симлинка, а затем его удаление, вместо разрывания связей.
[ ] Сканировать символические ссылки отключено
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.
User avatar
xyz
Posts: 156
Joined: Sun 20 Mar, 2005 13:26
Has thanked: 1 time
Contact:

Удаление символических ссылок

Post by xyz »

Похоже наткнулся на старый баг viewtopic.php?f=9&t=11175
Last edited by xyz on Fri 07 Jun, 2019 11:14, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Удаление содержимого каталогов при удалении символических ссылок

Post by John Doe »

Который давно исправлен.
Backslash
Posts: 5
Joined: Sat 27 Jul, 2019 18:32

Удаление содержимого каталогов при удалении символических ссылок

Post by Backslash »

Я нашёл проблему, вроде бы связанную с обсуждаемой выше, так что добавляю сюда.

Поведение наблюдаемо, например, в 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" создавали в директории назначения "копию" ссылки с теми же параметрами, что у копируемой/переносимой. Но это уже совсем другая история.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Удаление содержимого каталогов при удалении символических ссылок

Post by DrKnS »

Backslash wrote: Sat 27 Jul, 2019 19:22 перенос символических ссылок с одного диска на другой приводит к "удалению содержимого каталогов, на которые ссылки указывают"
В каком состоянии опция "Copy contents of symbolic links"?
Backslash wrote: Sat 27 Jul, 2019 19:22с теми же параметрами, что у копируемой
Что имеется в виду?
Backslash
Posts: 5
Joined: Sat 27 Jul, 2019 18:32

Удаление содержимого каталогов при удалении символических ссылок

Post by Backslash »

DrKnS wrote: Sat 27 Jul, 2019 21:41 В каком состоянии опция "Copy contents of symbolic links"?
Обычно, по умолчанию, т.е. опция выключена. Но я проверял и с включённой: тот же плачевный результат.
DrKnS wrote: Sat 27 Jul, 2019 21:41 Что имеется в виду?
Если мы копируем или перемещаем на другой диск symlink, указывающий на физический объект L:\SomePhysFolder, создать в каталоге назначения symlink, указывающий на этот же физический объект. Идея была, вроде бы, отвергнута в теме Hardlinks/symlinks/junctions — хардлинки/симлинки/связи, но на мой взгляд не слишком убедительно. Кстати, есть даже по крайней мере одна программа с описанным подходом.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Удаление содержимого каталогов при удалении символических ссылок

Post by DrKnS »

Backslash wrote: Sun 28 Jul, 2019 11:17 Если мы копируем или перемещаем на другой диск symlink, указывающий на физический объект L:\SomePhysFolder, создать в каталоге назначения symlink, указывающий на этот же физический объект.
Именно это и происходит при выключенной опции и при условии того, что приёмник поддерживает ссылки, и так было всегда (ну или последние лет 10 точно).
Backslash
Posts: 5
Joined: Sat 27 Jul, 2019 18:32

Удаление содержимого каталогов при удалении символических ссылок

Post by Backslash »

DrKnS wrote: Sun 28 Jul, 2019 11:51 Именно это и происходит при выключенной опции и при условии того, что приёмник поддерживает ссылки
Что, даже, если с одного сетевого диска NTFS на другой (тоже NTFS)? Я только что проверил с сетевого L: на C: и symlink-овая директория превратилась в физический каталог (при выключенной опции).
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Удаление содержимого каталогов при удалении символических ссылок

Post by DrKnS »

Backslash wrote: Sun 28 Jul, 2019 12:17 Что, даже, если с одного сетевого диска NTFS на другой (тоже NTFS)?
Нет и так и задумано: hlf:CopyRule
Если сразу писать, что речь о сети - можно сэкономить время.
ссылка , равно как и содержимое физического каталога, на коий она указывала, удаляется
А это баг, да. Очень старый, еще аж с 1.7. Исправлено в 5435.
Backslash
Posts: 5
Joined: Sat 27 Jul, 2019 18:32

Удаление содержимого каталогов при удалении символических ссылок

Post by Backslash »

Виноват-с. Да, речь всю дорогу шла о переносе с сетевого диска, скажем, M: на сетевой же, допустим, K:. И при такой операции как раз и происходит удаление содержимого физического каталога, как было описано выше. В 5436 тоже.
Post Reply

Return to “Глюки и баги”