Я недавно обновил репозитории Subversion со старой версии 1.2.3 до 1.6.0 через svnadmin dump / load . Все старые репозитории использовали один и тот же UUID (репозитории были созданы с использованием копирования репозитория шаблонов). Я изменил UUID на нескольких новых репозиториях с помощью svnadmin setuuid, чтобы он стал уникальным. Я не могу просто переместить мои существующие рабочие копии этих репозиториев, потому что UUID разные. Я знаю об экспорте рабочей копии и извлечении из нового репозитория, но мне было интересно, есть ли способ просто изменить UUID рабочей копии на месте, как то, что svnadmin setuuid делает для репозиториев.
13
Вот команда, которая делает трюк для SVN 1.6 и ниже:
Заменить
old-uuid
иnew-uuid
на фактические идентификаторы.источник
sed -i "" 's/old-uuid/new-uuid/'
и это работает (только лишние пустые двойные кавычки) ( ссылка )Ответ Ива Мартина отлично сработал для нас на ряде рабочих копий с SVN 1.8, но в итоге мы столкнулись со случаями, когда это не сработало.
Выполнение команды Ива без «где id = 1» работало во всех случаях для нас:
Исследуя причину этого, я обнаружил, что при перемещении хранилища сохраняются несколько UUID, вопреки интуиции Ива о том, что этого никогда не должно происходить.
Новая запись в таблицу REPOSITORY добавляется после перемещения, а не обновляет существующую, сохраняя увеличенный идентификатор с новым корнем хранилища и его UUID. Таким образом, случаи, которые не работали должным образом, были рабочими копиями, которые уже были перемещены в прошлом: команда, казалось бы, работала, но был изменен только начальный UUID, а не тот, который используется в настоящее время.
С помощью этой команды можно проверить список сохраненных корней и UUID в рабочей копии:
Наконец, я отмечу, что мне пришлось использовать другой набор цитат для командной строки / командных файлов Windows, как показано ниже:
источник
В разделе « Управление UUID репозитория » в svn red-bean book может быть ответ, который вы ищете.
источник