Мы случайно удалили папку «теги» из нашего репозитория Subversion, где намеревались удалить только один конкретный тег. Как проще всего вернуть папку «Теги»?
Мы используем TortoiseSVN в качестве нашего клиента, и я подумал, что когда я перейду в браузер репо и покажу журнал, будет что-то вроде «отменить изменения из этой ревизии», аналогично тому, что вы можете увидеть в аналогичном диалоговом окне в вашей рабочей копии. Но такой команды там нет ...
источник
для энтузиастов командной строки:
сначала найдите номер редакции, в которой произошло ваше удаление:
скажем, вы обнаружили, что каталог был удален в версии 999 (кстати: вам может быть проще найти номер версии с помощью браузера репозитория svn)
копируем папку ревизии минус 1
вуаля, готово!
в вашем случае это может быть:
источник
Большинство из этих ответов в какой-то степени будут работать, но правильный ответ - Даниил. Сделайте обратное слияние. Таким образом вы сохраните историю версий.
svn merge -r R1:R2
где R1 - это ревизия, в которой вы находитесь, а R2 - ревизия, содержащая удаленный файл / папку.
источник
svn copy
.Вам нужно будет выполнить обратное слияние .
Подробную информацию о том, как это сделать (и почти обо всем, что вам когда-либо понадобится или понадобится делать с SVN), можно найти в официальной книге в Интернете .
источник
Следуя ответу Рауди, который работал у меня после этой ревизии.
Некоторым клиентам svn может потребоваться номер версии, указанный с помощью параметра -r revision вместо использования @ после папки, как показано ниже:
источник
-r <revision>
будет работать. Однако, если вы пытаетесь восстановить папку напрямую, вам нужно будет использовать@<revision>
. В противном случае он сообщит, что файл не найден.Перейти
Repository Browser
к своемуrepository
, щелкните правой кнопкой мыши родительскую папку, в которой существовала удаленная папка . ТеперьShow Log
из родительской папки выберите предыдущую ревизию, в которой вы зафиксировали операцию удаления. У вас будет список, щелкните правой кнопкой мыши папку в информации о версии и выберитеUpdate to this Revision
.Вы сделали
источник