2015-05-11 3 views
1

Вот структура моей SVN репо:Настройка ГИТ-SVN следовать нестандартную SVN репо

  • http://server.net:8080/svn/CompanyName - СВН корень
  • http://server.net:8080/svn/CompanyName/ProjectBranch3 - текущая ветвь проекта
  • http://server.net:8080/svn/CompanyName/ProjectBranch2 - предыдущая Филиал проекта
  • http://server.net:8080/svn/CompanyName/ProjectBranch1 - первая ветка проекта
  • http://server.net:8080/svn/CompanyName/SomeRandomProject - еще один проект в том же корне, что и я не хотят регистрироваться. Есть много из них
  • http://server.net:8080/svn/CompanyName/Tags/ProjectName/ - теги для проекта

Проект был разработан в качестве ProjectBranch1 на первом, а затем копируется в ProjectBranch2 и ProjectBranch3 в конце концов. Я хочу получить проект со всей его историей, и я хочу, чтобы git понимал, что каждая ветка начинается там, где была закончена предыдущая.

Теперь команда git init имеет опцию -b, чтобы указать подпапку, используемую для филиалов. Однако ветви svn не содержатся в подпапке; как описано выше, они расположены прямо в корне как отдельные подкаталоги.

Как настроить git-svn для достижения этого?

+0

Пожалуйста, не обозначающие этот вопрос как дубликат этого: http://stackoverflow.com/questions/572893/cloning-a- нестандартный-svn-repository-with-git-svn этот вопрос касается ситуации, когда все ветви svn содержались в одном каталоге ветвей, каждый подкаталог которого является ветвью. Здесь не так. –

ответ

1

я был в состоянии сделать это с помощью следующего .git/config файла:

[svn-remote "svn"] 
    url = http://server.net:8080/svn/CompanyName 
    fetch = ProjectBranch3:refs/remotes/origin/trunk 
    branches = {ProjectBranch1, ProjectBranch2}:refs/remotes/origin/bracnhes/*