Как изменить структуру хранилища Subversion? - PullRequest
10 голосов
/ 12 декабря 2008

Я новичок в Subversion, поэтому я не знаю, если это глупый вопрос:

Я унаследовал хранилище Subversion с плоской структурой без верхнего уровня / trunk / tags / branch).

Я бы хотел перестроить его так, чтобы оно соответствовало

/trunk
/tags
/branches

расположение.

Возможно ли это?

Ответы [ 5 ]

21 голосов
/ 12 декабря 2008

Особенно, если вы используете Subversion 1.4, см. Этот ответ для альтернативы:

svn: заменить магистраль веткой .

В противном случае, move - это самый простой способ добиться реструктуризации. Как сказал @JoelFan, move будет работать с каталогами, поэтому вы можете выполнить эту операцию без рабочей копии:

svn mkdir --quiet --message "Restructuring" http://svnhost/svnrepos/trunk
svn mkdir --quiet --message "Restructuring" http://svnhost/svnrepos/tags
svn mkdir --quiet --message "Restructuring" http://svnhost/svnrepos/branches

затем, соответствующие move команды для ваших источников:

svn move --message "Restructuring" http://svnhost/svnrepos/dir01 http://svnhost/svnrepos/trunk/dir01

Примечание. Если существующий репозиторий имеет такую ​​структуру, как:

/repos
    /projectA
        /branches
        /tags
        /trunk
    /projectB
        /branches
        /tags
        /trunk

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

4 голосов
/ 12 февраля 2012

Если вы используете TortoiseSVN:

  1. Создание пустых необходимых каталогов (/trunk /tags /branches)
  2. Передайте их.
  3. В контекстном меню откройте TortoiseSVN > Repo-Browser, где просто выберите все (кроме /trunk /tags /branches) и перетащите курсор в каталог /trunk (все внутри окна Repo-Browser)
  4. Pres Ok > Submit > Ok
4 голосов
/ 12 декабря 2008

svn move (1.4) (1.7) может работать с каталогами в хранилище, поэтому вам не нужно проверять или регистрировать что-либо.

1 голос
/ 12 декабря 2008

Да. Просто создайте желаемую структуру верхнего уровня, добавьте эти каталоги с помощью команды svn add. Выполните проверку (svn ci), а затем переместите материал в нужные места с помощью svn move. Регистрация посередине, возможно, даже не нужна, но я так и сделаю.

0 голосов
/ 12 декабря 2008

Да. Просто используйте команду svn move!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...