Восстановление хранилища Subversion до версии Workcopy - PullRequest
5 голосов
/ 07 июня 2010

Моя виртуальная машина Subversion умерла на днях (аппаратное обеспечение хоста растаяло), и мне пришлось восстановить резервную копию образа сервера vmware. Восстановление прошло успешно, и виртуальная машина снова работает на новом хосте.

Проблема, с которой я столкнулся, состоит в том, что мой восстановленный репозиторий имеет версию 60, а моя рабочая копия на ПК - 66. Когда я пытаюсь зафиксировать свою рабочую копию, я получаю следующее сообщение об ошибке.

svn: Commit failed (details follow):
svn: No such revision 61

Каков наилучший способ заставить этот коммит и довести Subversion до той же ревизии, что и моя рабочая копия?

Ответы [ 3 ]

13 голосов
/ 07 июня 2010

Я не думаю, что ваша старая рабочая копия может "научить" новый сервер SVN отсутствующим ревизиям (61-66).

Я бы предложил:

  1. Проверьте новую рабочую копию
  2. SVN EXPORT вашей старой рабочей копии в новую рабочую копию, тем самым обновляя файлы с вашими изменениями
  3. SVN COMMIT изменений

На этом этапе новый сервер SVN будет обновлен.

2 голосов
/ 07 июня 2010

Сделайте новую проверку из восстановленного хранилища. Скопируйте изменения из существующей рабочей копии в новую кассу и затем подтвердите.

Вы не хотите копировать каталоги .svn. Такой инструмент, как rsync, может помочь синхронизировать две директории.

rsync --del --exclude=".svn"

Если есть много различий, таких как новые и удаленные файлы svn_load_dirs.pl может помочь.

0 голосов
/ 08 апреля 2014

Без резервного копирования этот подход намного быстрее, чем принятый метод для восстановления и запуска проверки. Кроме того, rsync не является родным для ОС Windows.

  1. (необязательно). Создайте резервную копию «сломанной» проверки.
  2. Удалите папку .svn на верхнем уровне вашей сломанной проверки SVN
  3. Запустите SVN Checkout на вашей сломанной кассе.
  4. (необязательно) SVN COMMIT изменения

Альтернативное решение может быть возможным при использовании SQLLite для чтения файла SVN .db и обновления номера редакции вручную.

Ссылка: Как создать версию SVN поверх существующего проекта?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...