2

Я использую Netbeans 7.0.1 в системе Linux.

У меня есть файл

module/test.php

и еще один

application/module/test.php

Оба файла test.php являются жесткими ссылками друг на друга.

Когда я изменяю application/module/test.php в Netbeans, module/test.php не обновляется. Но так и должно быть.

Я думаю, Netbeans удаляет test.php и создает новый?

Я верю в Netbeans 6 этого не произошло.

Как я могу это исправить? Есть ли скрытый вариант, чтобы получить старое поведение?

2 ответа2

1

Насколько я знаю, Netbeans нельзя настроить на одноэтапное сохранение, о чем вы просите. Вместо этого он выполняет «двухэтапное» сохранение.

Редактор, который может сделать это, является jEdit, если это помогает.
Вот что говорится в разделе « Сохранение файлов » руководства jEdit:

Двухэтапное сохранение

Чтобы предотвратить потерю данных в маловероятном случае сбоя jEdit во время сохранения файла, файлы сначала сохраняются во временный файл с именем # filename # save #. Если эта операция прошла успешно, исходный файл заменяется временным файлом.

Однако в некоторых ситуациях такое поведение нежелательно. Например, в Unix это создает новый i-узел, поэтому, пока jEdit сохраняет права доступа к файлу, владелец и группа файла сбрасываются, и если это жесткая ссылка, ссылка нарушается. Функцию «двухэтапного сохранения» можно отключить на панели «Общие» диалогового окна «Утилиты> Глобальные параметры»; см. раздел «Общая панель».

1

Правильный способ для текстового редактора обновить (сохранить) файл - создать новый файл в том же каталоге с временным именем, записать туда новое содержимое, а затем удалить старый файл и переименовать новый в его настоящее имя.

Обоснование: если вы перезаписываете файл на месте, любой катастрофический сбой (потеря питания, неисправный сектор на диске и т.д.) Может привести к повреждению этого файла или его частичной записи. Поэтому любой вменяемый редактор не делает записи на месте. Я довольно удивлен, что NetBeans делал это в старых версиях.

Конечно, этот метод удаления / переименования не учитывает вашу жесткую ссылку, и поиск по всему диску других жестких ссылок на файл не возможен, поэтому никакой редактор не делает этого.

Я не думаю, что вы можете получить старое поведение, и даже если бы вы могли, это довольно плохая идея. Если вы не можете переключиться на мягкие ссылки (на которые эта проблема не влияет), я полагаю, вам придется искать какой-то другой способ сделать то, что вы делаете.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .