Вопрос

Мне было интересно, если я щелкну правой кнопкой мыши по файлу в браузере репозитория SVN, он будет удален навсегда?можно ли его восстановить?

Это было полезно?

Решение

Этот вопрос / ответ из часто задаваемых вопросов по SVN может вас заинтересовать:

  

Как полностью удалить файл из истории репозитория?

     

Есть особые случаи, когда вы   может захотеть уничтожить все доказательства   файл или коммит. (Возможно, кто-то   случайно совершил конфиденциальную   документ.) Это не так просто, потому что   Subversion специально разработана для   никогда не теряй информацию. Редакции   неизменные деревья, которые опираются на один   другой. Удаление ревизии из   история вызовет эффект домино,   создавая хаос во всем последующем   пересмотры и, возможно, аннулирование   все рабочие копии.

     

Проект, однако, планирует   когда-нибудь реализовать команду svnadmin obliterate , которая   выполнить задачу навсегда   удаление информации. (См. Выпуск 516.)

     

Между тем, ваш единственный выход    svnadmin dump вашего хранилища, затем   передать свалку    svndumpfilter (исключая неверный путь)   в команду svnadmin load .

Если это так сложно, есть небольшие шансы, что это легко сделать из Tortoise SVN ...
(И это не цель контроля исходного кода ...)

Другие советы

Вы обнаружите, что вы можете удалять только из браузера Repo, когда просматриваете ревизию HEAD. Это идентично удалению файла из вашей рабочей копии и последующей проверке удаления. В обоих случаях вы сможете восстановить из предыдущей версии.

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

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

Разве щелчок правой кнопкой мыши не вызывает какое-то меню? А с SVN это то, что вы всегда можете вернуться в любом случае.

Я случайно удалил каталог верхнего уровня из браузера Repo, и единственным способом вернуть его было следующее:

  • Экспортируйте папку верхнего уровня из предыдущей истории версий.
  • Создайте новую папку в репозитории взамен удаленной.
  • Добавьте экспортированные файлы обратно в новый каталог (с тем же именем, что и предыдущий).
  • Обновите рабочую копию, она удалит, а потом снова добавит те же файлы.

Это раздражает, но, по крайней мере, работа и репозиторий снова будут синхронизированы.Параметр «Отменить изменения из этой версии» не работал для отмены удаления репозитория, он возвращает только рабочий каталог, а не «Отменить» удаление в репозиторий.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top