2010-06-19 3 views
6

에 문제는 우리는 현재 큰 Subversion 저장소를 실행하고 나는 GIT로 이동하기 위해 노력하고있어. 문제는 루트 디렉토리 아래에 트렁크와 태그를 사용한다는 것입니다. 예 :가져 오기 서브 : 서브 패스

MyDepartment\MyOS\Project1\trunk\    <-- master branch 
MyDepartment\MyOS\Project1\branch\v1   <-- other branch 
MyDepartment\MyOS\Project1\tags\v1_20100101 <-- release tag 

다른 부서, 운영체제 및 다양한 프로젝트가 있습니다.

git svn clone --stdlayout http://svn-repository/ 

클론이 비어 끝 :

그래서 나는 --stdlayout 사용하여 SVN 저장소를 복제 할 때. 옵션이 없으면 복제본을 얻지 만 분기는 마스터 분기에서 디렉토리로 처리됩니다.

  1. 이 디렉토리 구조를 한 번에 가져 오는 방법이 있습니까? 내가 개별적으로 모든 프로젝트를 가져올 수있는 스크립트를 작성하는 경우
  2. , 하나 개의 큰 GIT 저장소에 당 프로젝트 GIT 수입을 결합하는 방법은 무엇입니까? Git submodules
+1

'. – jfs

답변

0

봐. 아마도 각 하위 프로젝트를 개별적으로 가져와야 할 것이지만 결과는 현재 사용량을 조금 더 잘 반영 할 것입니다. 내가 제대로 질문을 understande 경우

+0

불행히도, 내가 읽은 책 ("Version Control with Git")은 서브 모듈의 사용을 다소 설득력있게 방해합니다. – Andomar

3

은, 당신이 원하는 :

git svn clone 
    --trunk=MyDepartment\MyOS\Project1\trunk 
    --tags=MyDepartment\MyOS\Project1\tags 
    --branches=MyDepartment\MyOS\Project1\branch 
    http://svn-repository/ 

업데이트 :

git svn clone 
    --trunk=MyDepartment\MyOS\Project1\trunk 
    --tags=MyDepartment\MyOS\Project1\tags 
    --tags=MyDepartment\MyOS\Project2\tags 
    --tags=OtherDepatment\MyOS\Project1\tags 
    --branches=MyDepartment\MyOS\Project1\branch 
    --branches=MyDepartment\MyOS\Project2\branch 
    --branches=OtherDepartment\MyOS\Project1\branch 
    http://svn-repository/ 

당신은 가질 수 없습니다 : 당신은 두 개 이상의 --branches 및 --tags를 포함 할 수 있습니다 한 트렁크가 분명히 더.

힘내 정말 하나 개의 repo에서 하나 개의 프로젝트에 여러 프로젝트를 하나 개의 저장소 당이 아니라 지원하도록 설계되었습니다. 나는 그것을 사용하려고하는 많은 문제에 부딪 힐 것이라고 생각합니다. `trunk`,`tags`,`branch` **`es` ** 가정 --stdlayout`

+0

많은 다른 프로젝트가 있습니다. 각 프로젝트에 대해 가져 오기를 스크립팅 할 수는 있지만 어떻게 하나의 git 저장소에 결합 할 수 있습니까? – Andomar

+0

여러 분기 및 태그 매개 변수에 대한 작은 업데이트. 이게 도움이 되나요? 아니면 저장소의 복잡한 구조를 자동으로 추측하고 싶습니까? 나는 그것이 가능하지 않다고 믿는다. – silk

+0

여러 자식 리포지토리를 하나로 병합 할 수 있습니까? – Andomar

관련 문제