2010-11-18 2 views
2

문제는 Mercurial 또는 git을 개발을위한 프런트 엔드로 사용할 수 있지만 변경 사항 및 업데이트가 Subversion에서 일반적으로 통합되어 있다는 것입니다. 브랜치 또는 Mercurial 용 스크립트 또는 허드슨이 변경 사항을 통지 할 때 작성된 것. SVN을 사용하는 다른 개발자가 변경 한 Mercurial 리포지토리가 업데이트되면 새로운 개발 버전을 제공하기 전에 변경 사항을 가져 와서 변경 사항을 테스트하고 테스트합니다.개발팀 용 SVN이 포함 된 GIT/Mercurial Crossover

다음 시나리오가 가능한지 압니까? 병합 개발 팀 & 분기? 또는 더 좋은 방법이 있다면 ... 강한 도구를 사용하는 사람을 무장시키는 것 외에?

다음 전략은 다음과 같은 구성 요소로 구성된다 :

  • SVN
  • 아래 구성의 의욕
  • 의욕 개발 저장소

와 SVN의

  • 일대일 클론 , 업데이트는 일반적으로 SVN/트렁크에서 복제본 (hgsubversion)으로 가져옵니다. 복제본은 읽기 전용이며 정기적으로 변경 사항을 가져 오는 스크립트가 있습니다. 그런 다음 복제본은 개발 저장소 (Read-Write)에 복제됩니다 (일반 Mercurial Repo). 개발자가이 개발자 저장소에 변경 사항을 푸시하면 통합 분기에있는 요소가 SVN/integration 분기로 푸시됩니다. 이 지점은 자동화 된 스크립트에 의해서만 커밋됩니다. svn을 사용하는 다른 개발자가 SVN의 트렁크에만 변경 사항을 밀어 넣으면 클론에 끌어 와서 Mercurial의 환경 내부로 병합 할 수 있습니다. 단점은 변경 사항이 발생한 SVN 레벨에서 가시성을 잃게된다는 것입니다. DVCS를 사용하는 방법에 대한 교육 과정에서

    [[[[ trunk [[[[[[[[[[[[[[[[[[[[[[[[ SVN ]]]]]]]]]]]] branch/integration ]]]]]]]]]]]]]]]]]] 
         |             ^
         |             | 
         |             | 
         v             | 
    SVN - Mercurial Clone          | 
         |             | 
         |             | 
         |             | 
         v             | 
    Mercurial - Development ---------------------------- Branch - Integration 
    
  • +0

    개발을 위해 프론트 엔드에서 언급했듯이 이미 hgsubversion을 사용하고 있습니다. 그러나 팀 기반 분산 개발을 활용할 수 있기를 원합니다. – Gary

    +1

    나는 개인적으로 강한 무장 접근법을 좋아한다. :) 그리고 Mercurial의 사용법은 어쨌든 SVN과 매우 흡사하다. – erjiang

    답변

    3

    , 즉 실제로 내가 설명 주요 사용 사례 중 하나, 나는 멋진 DVCSes이 얼마나 깊이 쇼를 생각 하나 ...

    당신은 그것을 할 수있는 몇 가지 방법이 있습니다.

    수동 방식

    당신 SVN/체크 아웃 코드, 다음 수은/초기화수은 /는 모든 커밋합니다. 그런 다음 Hg하에 작은 수정을 자주하는을 수행하십시오. . SVN으로 다시 커밋하고 싶다면 먼저 SVN/체크 아웃 직후에 작성한 Hg 버전에 Hg/up으로 먼저 커밋하십시오. SVN/위로, 일반 SVN 개정판에서 방금 업데이트했기 때문에 SVN 충돌이 발생하지 않습니다.. 당신 Hg/커밋, Hg/병합 그리고 나서 SVN/커밋. 누군가가 SVN에서 커밋했다면, Hg/위로을 마지막 깨끗한 SVN 버전 인 SVN/위로Hg/commit + merge까지 반복합니다.

    마지막 SVN 클린 리비전을 추적하는 방법은 귀하에게 달려 있습니다. 매번 변경하는 태그를 사용할 수 있으며 SVN 개정판을 지사 또는 별도의 저장소에 보관할 수 있습니다.TIMTOWTDI

    추가 혜택 :이 또한 그들이 외부 버전 제어하지 않고, 수은을 사용하는 사람들을위한 SVN 커미터 역할을하는 방법입니다.

    내가 그런 식으로 사용한 적이

    자동 방식으로,하지만 tailor 반복적으로 SVN/수은의 전환이 두 가지를 할 수 있습니다.

    +1

    예, SVN에서 수은으로 전환하는 과정에서이 프로세스가 사용되었습니다. 나는 기본적으로 남아있는 SVN 업데이트를위한 브랜치를 가지고있다. 일단 모든 사람들이 해결되고 우리가 수은 환경에서 테스트의 이행을 처리하는 것이 좋았 더라면, 나는 마지막 SVN 업데이트를 가져 와서 수은 변경과 병합하고 새로운 개발이 시작될 것이라고 발표 한 곳을 기권하기로 약속했다. 잘 했어. – Gary

    관련 문제