2011-12-22 3 views
1

У меня есть хранилище SVN, который выглядит примерно так:Как я могу сделать репозитории git-svn для большого количества проектов в том же репозитории SVN?

\project1 
- branches 
- tags 
- trunk 
\project2 
- branches 
- tags 
- trunk 
\subfolder 
    \project3 
    - branches 
    - tags 
    - trunk 
    \another-subfolder 
    \project4 
     - branches 
     - tags 
     - trunk 
etc 

Там, наверное, 100 проектов или так здесь. Я хотел бы создать git-svn-repos для каждого из них, предпочтительно тот, который отражает структуру SVN.

Моя первоначальная мысль заключалась в том, чтобы написать сценарий, который идет по дереву SVN, и делать git svn -d clone для каждого проекта, но мне интересно, есть ли лучший способ сделать это (или если кто-то создал инструмент, чтобы я не делал этого должен сделать это сам). Является ли это разумным, или есть ли лучшие способы выполнения этой задачи?

+0

Возможный дубликат [Сплит большой репозиторий Git во многие более мелкие] (http://stackoverflow.com/questions/3910412/split-large-git-repository-into-many-smaller-ones) – RedFilter

ответ

0

Я бы не рассматривал Split large Git repository into many smaller ones как дубликат этого вопроса, особенно если вы хотите поддерживать связь между svn и git repos и иметь возможность «git svn dcommit» вернуться к репо SVN.

Вы можете использовать некоторые инструменты, такие как svn2git или svneverever, инструмент Python, который поможет вам обнаружить все правильные каталоги проектов, чтобы написать файл правил svn2git для них.

Другой подход иллюстрируется this article (для нескольких ветвей, но может применяться и к нескольким проектам): «Git-SVN? Нет, Git + SVN».
Т.е. проверьте правильную часть вашего репозитория svn и инициализируйте репозиторий git в нем.
См. Также «Clone multiple SVN projects with git-svn» на примере этого подхода.

Смежные вопросы