Как изменить структуру репозитория subversion?

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

Я унаследовал репозиторий subversion с плоской структурой без верхнего/верхнего/верхних/тегов/ветвей.)

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

/trunk
/tags
/branches

макета.

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

Ответ 1

Особенно, если вы используете 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

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

Ответ 2

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

Ответ 3

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

  • Создать пустые необходимые каталоги (/trunk /tags /branches)
  • Зафиксируйте их.
  • В контекстном меню откройте TortoiseSVN > Repo-Browser, где просто выберите все (кроме /trunk /tags /branches) и drag-n-drop в каталог /trunk (все внутри окна Repo-Browser)
  • Pres Ok > Submit > Ok

Ответ 4

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

Ответ 5

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