У меня есть набор файлов с несколькими ссылками на них.
Файлы принадлежат системе контроля версий TFS, но на них сделаны другие ссылки. Как удалить дополнительные ссылки, не очищая бит readonly.
Можно предположить:
- Файлы имеют более одной ссылки на них
- Вы не удаляете имя, принадлежащее TFS
- Потенциальные условия гонки отсутствуют
- У вас есть полный контроль над файлами ACL
- Машина не будет терять мощность, и ваша программа не будет убита, если это не займет слишком много времени.
Считать небезопасным:
- Бит только для чтения установлен (не устанавливайте его, если нет)
- Вы можете оставить бит readonly пустым, если вы столкнулись с ошибкой, и она была изначально установлена
Не мигрировать в суперпользователя - если перенесено туда, ответ невозможен, потому что ни один стандартный инструмент не может сделать это.
В гипотетической * nix-системе, в которой для удаления требуется разрешение на запись в файл, существует решение, включающее fchmod (). Однако система, демонстрирующая это поведение, является системой Windows.