Пришлось с этим бороться. Я использую размещенную Subversion, и сделал дамп, а затем импортировать. Их процесс импорта не перенес UUID из старого репозитория в новый, поэтому я получил ту же ошибку, что и OP. Все ответы на сайтах Stack Exchange говорят только о том, как с этим справиться, используя "svnadmin setuuid", но это не вариант для меня, так как я использую размещенный сервис (и, следовательно, svnadmin не будет иметь доступа к хранилищу ). Я мог бы ввести тикет, но не хотел иметь дело с ожиданием, поэтому вот как я это исправил, вручную обновив UUID моей рабочей копии :
Предупреждение: попробуйте это, только если вы уверены, что рабочая копия и репозиторий, на который вы указываете, абсолютно синхронизированы. Не уверен, что произойдет, если они не будут.
В основном процесс заключается в замене старого UUID новым UUID в файлах с именем «записи» в скрытых папках SVN (папки с именами .svn или _svn) вашей рабочей копии. Как только это будет сделано, вы можете использовать «перемещение» TortoiseSVN, чтобы указать рабочему каталогу новый URL-адрес хранилища.
В окне консоли перейдите в корень вашей рабочей папки.
Запустите команду, чтобы рекурсивно удалить атрибут «только для чтения» из файлов «записей»: attrib -R entries /S
Используйте функцию «заменить в файлах» текстового редактора, чтобы заменить старый UUID новым UUID. Я использовал Visual Studio со следующими настройками: Просмотреть: PATH_TO_WORKING_FOLDER_ROOT / Включить подпапки: проверено / Посмотреть следующие типы файлов: записи
Отменить шаг № 2: attrib +R entries /S
«Переместить» рабочую копию на новый URL. Я использовал TortoiseSVN: щелкните правой кнопкой мыши рабочую папку, TortoiseSVN-> Переместить.
Я думаю, все, что нужно сделать в шаге 5, это заменить URL-адреса в файлах «записей», так что вы можете сделать это вручную, если хотите. Также возможно с помощью инструмента командной строки "svn", но я не знаю, какая команда у меня в голове.
Это интенсивно. Это действительно необходимо? Я просто пытаюсь понять это, так как мой провайдер, очевидно, перенес наши репозитории, и я получаю ту же ошибку.
до
0
Вы можете установить 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 не имела подкоманды setuuid, думаю, это одна из новых команд. затем я нашел файл db / uuid в репозитории, но после изменения числа в нем svn все еще жаловался, что это не тот же репозиторий
Павел К.
0
У меня была та же проблема, но так как мы использовали опцию хостинга, я тоже не смог svnadmin.
Это было внешнее, я использовал в другом проекте, и я сделал это, чтобы исправить это:
Сделайте резервную копию всех моих локальных изменений.
Вы можете установить UUID в пустом хранилище. Затем импортируйте файлы, которые у вас есть. Вы потеряете свою историю (она не сохраняется в рабочей копии). Но, устанавливая UUID в соответствии со своим старым хранилищем, вы избегаете сообщения об ошибке на коммутаторе svn.
источник
У меня была та же проблема, но так как мы использовали опцию хостинга, я тоже не смог
svnadmin
.Это было внешнее, я использовал в другом проекте, и я сделал это, чтобы исправить это:
rm -rf
каталог (внешний зарегистрирован)svn:external
(и зафиксировать это)svn up
svn:external
сноваисточник