Как восстановить из хранилища SVN - PullRequest
5 голосов
/ 25 мая 2010

Я случайно удалил главную папку в браузере Tortoise-SVN Repro. Рабочая папка не изменяется.

Каков рекомендуемый способ обратить это вспять?
Должен ли я просто вернуться к предыдущей версии? Или мне нужно сделать Checkout для этой предыдущей версии в новую папку и удалить старую папку?

Ответы [ 7 ]

8 голосов
/ 25 мая 2010
  1. Обновите вашу рабочую копию до версии head
  2. Проверьте предыдущую версию в новой папке
  3. SVN. Скопируйте удаленную папку из предыдущего файла в заголовочный файл.
  4. Добавить в голову версиюFolder
  5. SVN Зафиксируйте headVersionFolder
5 голосов
/ 25 мая 2010

Поскольку вы упомянули, что используете TortoiseSVN:

сделать черепахуSVN | Показать журнал в рабочем каталоге. Щелкните правой кнопкой мыши на регистрации, где вы удалили папку. Выберите Вернуть изменения из этой ревизии.

Это восстановит отсутствующие файлы в вашей рабочей папке. Затем вы можете отменить любые ДРУГИЕ изменения, которые были в той ревизии, которые вы действительно хотите сохранить. Как только ваша рабочая папка окажется в том состоянии, в котором вы хотите, выполните коммит.

Я не уверен, сохраняет ли этот метод историю.

1 голос
/ 25 мая 2010

Вы можете сделать копию ревизии непосредственно перед удалением, чтобы добавить ее обратно в репозиторий.

В svn это не настоящий вариант «восстановить».

0 голосов
/ 12 мая 2011

для энтузиастов командной строки:

  • сначала найдите номер ревизии, в которой произошло удаление:

    svn log -v http://svnserver/path/to/folderContainingDeletedFolder
    

скажем, вы нашли, что каталог был удален в ревизии 999 (кстати: вам может быть проще найти номер редакции с помощью браузера репозитория svn)

  • скопировать папку из ревизии минус 1

    svn copy http://svnserver/path/to/folderContainingDeletedFolder/deletedFolder@998 http://svnserver/path/to/folderContainingDeletedFolder/deletedFolder -m "undeleted folder"
    

вуаля, вы сделали!

0 голосов
/ 25 мая 2010

Вы пробовали документы в TortoiseSVN?

Это описывается как Ревизия отката .

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

0 голосов
/ 25 мая 2010

Есть другие вопросы, схожие с вашими здесь, в Stackoverflow. Может быть, вы могли бы найти что-то полезное из ответов там.

0 голосов
/ 25 мая 2010
  1. Проверьте последнюю версию репо в новом каталоге.
  2. Используйте Tortoise для слияния с версией перед удалением.
  3. Проверка результатов слияния.

См. книгу Subversion для дополнительной информации.

...