2014-09-22 2 views
0

Я начинаю новый проект, и у меня есть только доступный сервер SVN. После этого несколько исследований по СВН, я понял, что лучший структура хранилища для моего проекта будет следующим:Несколько проектов с trunk/branch/tags каждый

/ProjectMain 
    /trunk 
    /branches 
    /tags 

/ProjectAnnex # will not be branched 
    /trunk 
    /branches 
    /tags 

/Documentation 
    /trunk 
    /branches 
    /tags 

/Research  # will not be branched 
    /trunk 
    /branches 
    /tags 

как я буду иметь несколько несвязанных проектов и документов. Однако мне не нравится использовать SVN и будет чувствовать себя намного более комфортно, используя Git через Git-SVN.

Как я могу импортировать это существующее репо с помощью git-svn clone или путем редактирования моего файла .git/config? Я видел, что можно использовать подстановочные знаки в параметрах конфигурации fetch/branch/tags, но как их использовать в начале пути?

Как будет происходить процесс ветвления, когда я разветвляюсь от trunk? Как ветки будут правильно храниться в различных папках branches?

Если вы считаете, что эта структура слишком громоздка, что бы вы предпочли?

Спасибо заранее за вашу драгоценную помощь, Franck

ответ

1

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

git svn clone --stdlayout http://example.com/path/to/ProjectMain 

для вашего первого проекта,

git svn clone --stdlayout http://example.com/path/to/ProjectAnnex 

для второго, и так далее.

+1

Хороший вопрос! Разве я не должен использовать '' git svn clone -stdlayout http ... '', так как каждый проект имеет свои собственные папки для соединительных линий/ветвей/тегов? Наконец, у меня возникнут проблемы w.r.t. '' git-svn'' линейная история? Благодаря!! – franckysnow

+0

@FranckStudiesCommEng Да, вы должны. Я добавил это к ответу. Таким образом, git-svn должен правильно извлекать историю отдельных ветвей. – abacabadabacaba

+0

Удивительно, спасибо. Кроме того, есть ли способ «обновить» и «совершить» все изменения в каждом хранилище сразу? – franckysnow