Черепаха SVN Репо-Браузер - PullRequest
       18

Черепаха SVN Репо-Браузер

3 голосов
/ 01 декабря 2009

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

Ответы [ 6 ]

4 голосов
/ 01 декабря 2009

Этот вопрос / ответ из SVN FAQ может вас заинтересовать:

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

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

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

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

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

4 голосов
/ 01 декабря 2009

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

2 голосов
/ 01 декабря 2009

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

1 голос
/ 01 декабря 2009

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

0 голосов
/ 13 апреля 2010

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

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

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

0 голосов
/ 01 декабря 2009

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

...