SVN - Как мне создать хранилище Subversion с «макетом одного проекта с несколькими проектами»? - PullRequest
2 голосов
/ 06 января 2012

Я только что установил Subversion (Collabnet).Документация объясняет, как создавать репозитории, которые я сделал, но я не могу понять, как создать конкретный макет.Я хочу создать этот макет

c:\repositories
 +- MyProjectRepository
     +- project1
          +--- trunc
          +--- branches
          +--- tags
     +- project2
          +--- trunc
          +--- branches
          +--- tags
     +- project3
          +--- trunc
          +--- branches
          +--- tags

Документация позволяет мне только создать новый репозиторий из шаблона, который создает этот макет:

c:\repositories
 +- MyProjectRepository
     +-- project1
          +--- trunc
          +--- branches
          +--- tags

Как мне получить первый макет?т.е. несколько проектов в одном хранилище.

Редактировать

Считаются ли эти 3 каталога специальными?Например, если я создам структуры каталогов вручную, будет ли Subversion распознавать эти каталоги?То есть, если я создаю тег в project3, ссылка тега будет связана с project3 / tags.

Спасибо

Ответы [ 3 ]

3 голосов
/ 06 января 2012

Subversion примет любую структуру каталогов, которую вы хотите.Просто проверьте созданное вами хранилище из верхнего уровня 1002 * хранилища, а затем удалите существующую структуру.Затем вы можете настроить каталоги, которые вам нравятся (в любой конфигурации), а затем просто зафиксировать вашу новую структуру обратно в репозиторий.

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

1 голос
/ 06 января 2012

альтернативно вы можете использовать

svn mkdir <repo>/MyProjectRepository -m "project1 tree created"
svn mkdir <repo>/MyProjectRepository/project1 -m "project1 tree created"
svn mkdir <repo>/MyProjectRepository/project1/trunk -m "project1 tree created"
svn mkdir <repo>/MyProjectRepository/project1/branches -m "project1 tree created"
svn mkdir <repo>/MyProjectRepository/project1/tags -m "project1 tree created"
0 голосов
/ 06 июня 2013

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

Сначала вы создаете свой репозиторий с помощью svnadmin create.

Затем вы создаете папку контейнера (назовем ее structure) и помещаете точную структуру, которую хотите импортировать, в свой репозиторий внутри этой папки.

В результате вы получите папку, подобную этой:

\structure
    \project1
        \branches
        \tags
        \trunk
    \project2
        \branches
        \tags
        \trunk
    \project3
        \branches
        \tags
        \trunk

Тогда вам просто нужно выполнить svn import structure http://path-to-your-repository.

Редактировать: проверьте эту страницу для получения дополнительной информации о том, как использовать команду svn import http://svnbook.red -bean.com / ru / 1.7 / svn.tour.importing.html .

...