2009-08-18 4 views
8

после крупного сбоя сервера, хранилище SVN было разрушено, и моя рабочая версия является самым последними один,воссоздания репозитория SVN

что способ воссоздать репозиторий SVN из моей рабочей версии?

после установки SVN на новом сервере и пытается в моей рабочей копии

svn switch NEW_SVN_PATH . 

я получаю сообщение об ошибке

Repository UUID '1c604742-6b16-462b-86e4-cc8bce959242' doesn't match expected UUID '6df69aeb-a72c-450d-8102-24036a3855f7' 
+2

Мой лучший совет - создать резервную копию структуры сервера svn. – Powerlord

ответ

7
  1. История развития, которая хранится в вашем старом хранилище потеряно.

  2. Вы можете создать новый репозиторий с текущим содержимым вашей рабочей копии, но это действительно будет новый репозиторий. Вы не можете switch, даже с --relocate.

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

svn export WORKING_COPY WORKING_COPY.export # the exported copy will contain no .svn dirs 
svn import WORKINGCOPY.export svn://example.com/new-repository 
svn checkout svn://example.com/new-repository NEW_WORKING_COPY 
+0

Означает ли это, что все свойства (например, svn: ignore) также потеряны? –

+0

Да. Все, кроме имен и содержимого файлов, находящихся в рабочей копии, теряется. – bendin

+0

Хорошо, теперь у меня есть другой вопрос ... для чего эти глупые .svn-папки используются, когда не для истории? Я сейчас перемещаю все свои репозитории в git, этого достаточно, svn! – jebbie

4

Если вы хотите, чтобы восстановить свою историю, вы не повезло .. История SVN хранится в репозитории, а не в рабочих копиях ...

Если вы хотите начать новое репо с данными в вашей рабочей копии (только файлы, а не историю), вы можете сделать это остроумие ч svn import и svn export:

svn export <wc-path> <clean-dir-path> 
svn import <clean-dir-path> <empty-repo-url> 
0

Я бы очистить папки .svn в вашей рабочей папке, прежде (делать то, что другие предположить) создание нового репо. Я только говорю об этом, потому что в прошлом у меня было несколько проблем, которые смутили либо мое новое репо, либо мой клиент. Удачи!