после серьезной ошибки сервера репозиторий 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'
Пришлось с этим разобраться. Я использую размещенную подрывную версию, делаю дамп, а затем импортирую. Их процесс импорта не перенес UUID из старого репо в новое, поэтому я получил ту же ошибку, что и OP. Все ответы на сайтах Stack Exchange говорят только о том, как с этим справиться, используя "svnadmin setuuid", но это не вариант для меня, поскольку я использую размещенную службу (и, следовательно, svnadmin не будет иметь доступа к репозиторию ). Я мог ввести билет, но не хотел ждать, поэтому вот как Я исправил это, вручную обновив UUID моей рабочей копии:
Предупреждение: попробуйте это, только если вы уверены, что рабочая копия и репозиторий, на который вы повторно указываете, абсолютно синхронизированы. Не уверен, что произойдет, если они этого не сделают.
В основном процесс заключается в замене старого UUID на новый UUID в файлах с именем "entry" в скрытых папках svn (папках с именем .svn или _svn) вашей рабочей копии. Как только это будет сделано, вы можете использовать TortoiseSVN «relocate», чтобы указать рабочий каталог на новый URL-адрес репозитория.
attrib -R entries /S
attrib +R entries /S
Все, что делает шаг 5, - это замена URL-адресов в файлах "записей", я думаю, так что вы можете сделать это вручную, если хотите. Также возможно с помощью инструмента командной строки "svn", но я не знаю эту команду в голове.
После инициализации нового репозитория svn
хотя это может сработать, я думаю, что вместо переезда может быть подойдет новая проверка
Вы можете установить UUID в пустом репозитории. Затем импортируйте файлы, которые у вас есть. Вы потеряете свою историю (она не хранится в рабочей копии). Но, задав UUID, соответствующий вашему старому репозиторию, вы избегаете сообщения об ошибке на переключателе svn.
$ svnlook uuid /var/svn/repos
cf1b8d31-acb6-02dc-bc7c-16e92ce6dbec
$ svnadmin setuuid /var/svn/repos # generate a new UUID
$ svnlook uuid /var/svn/repos
4c2c49fe-acc1-23dc-acbc-2b28ff0c9e6c
$ svnadmin setuuid /var/svn/repos 1c604742-6b16-462b-86e4-cc8bce959242 # restore the old UUID
$ svnlook uuid /var/svn/repos 1c604742-6b16-462b-86e4-cc8bce959242
У меня была такая же проблема, но, поскольку мы используем вариант размещения, я не мог svnadmin
либо.
Это был внешний вид, который я использовал в другом проекте, и я сделал это, чтобы исправить это:
rm -rf
каталог (внешний зарегистрирован)svn:external
(и совершить это)svn up
svn:external
очередной раз