SVN - создайте новый репозиторий и добавьте ствол и ветви из старого репозитория - PullRequest
1 голос
/ 07 марта 2011

Я бы хотел переименовать свой SVN-репозиторий. Я пробовал команду копирования SVN для копирования из одного хранилища в другое, но это не работает:

F:\Old>svn copy https://devserver2.sockltd.local/svn/Dantooine https://devserver2.sockltd.local/svn/IOCPTest

svn: Repository moved permanently to 'https://devserver2.sockltd.local/'; please relocate

Когда я смотрю на список репозиториев, IOCPTest не существует.

Есть ли какой-нибудь способ переименовать репозиторий, или я должен просто экспортировать старый репозиторий и выгрузить его содержимое в новый. Проблема в том, что при таком подходе я потеряю ветки и историю изменений.

спасибо

Ответы [ 2 ]

2 голосов
/ 07 марта 2011

Я обнаружил функцию в главном окне приложения сервера VisualSVN - «Импортировать существующий репозиторий ...»

Он автоматизирует задачу копирования одного репозитория в новый, в то же времявремя предоставления возможности указать новое имя хранилища.Он отлично работает для моих нужд и копирует ветки и историю изменений тоже:)

0 голосов
/ 07 марта 2011

Это зависит от того, как VisualSVN организует ваш репозиторий под покровом.Если Dantooine является отдельным репозиторием (т.е. имеет свои собственные независимые номера версий), то проще всего будет скопировать / переименовать каталог Dantooine на сервере.Имя не включено в данные репозитория - что касается subversion, то это всего лишь URL-адрес для передачи данных, он распознает репозитории по идентификатору GUID revprop - так что переименования с последующим svn switch --relocate на ваших клиентах должно хватитьit.

Если вместо этого вы хотите создать полную копию / ветвь репозитория, вы можете снова просто скопировать каталог Dantooine.

Или, если вы действительно хотите копировать / фильтровать ветви изхранилище вы можете использовать svnadmin dump для создания резервной копии старого хранилища и сценарий svndumpfilter python для удаления ненужных веток, а затем svnadmin load для загрузки отфильтрованной резервной копии в новое хранилище.

Все это, возможно, не способ VisualSVN делать вещи, хотя - я никогда не использовал это сам.

...