1

우리는 여러 프로젝트에서 사용할 사내 프레임 워크를 개발 중입니다. 아이디어는 전체 프레임 워크를 각 프로젝트 저장소의 수경량 하위 저장소 으로 추적하도록하는 것입니다.하위 리포지토리에서 사내 라이브러리 추적

ProjectMaster/ 
    Project/ 
    CommonLib/ 
    FrameworkMaster/ 
     Framework/ 
     CommonLib/ 
  • 이 당신에게 어떤 의미가 있는가 :이 (thin-shell repository 참조) 다음 subrepo 트리의 결과 subrepositories를 포함하지 않는 이러한 종속성을 처리하는 더 좋고/더 쉬운 방법이 있습니까?
  • 특히, CommonLib 하위 보관소를 둘 다 사용하는 것이 합리적입니까?
  • 그렇지 않은 경우 Project에서 FrameworkMaster/CommonLib을 사용하는 것이 합리적입니까? 종속성이 더 복잡하면이 지저분해질 수 있습니다.
  • 피쳐 브랜치는 어디에서 열겠습니다? 주인님? 관련 하위 저장소에만 있습니까?
    • 마스터에 기능 지점이없는 경우 은, 때마다 당신은 당신이 마지막의 subrepo 상태가 커밋 점점 끝나는 저장소를 복제, 어떤 임의의 기능 지점에 어떤 subrepo을 넣을 수있다. 매우 혼란 스럽습니다.
    • 마스터에 기능 브랜치가있는 경우 이름이없는 헤드가 생기지 않도록 적어도 하나의 서브 페어에서 기능 분기 이 필요합니다. 일반적으로

,이 솔루션은 작업하기 어려운 소리. 어떤 제안? thin-shell repository 설명서의 설명으로 당

답변

2

:

For a thin-shell repository, all repositories containing 'real' code 
have no subrepositories of their own (ie. they are leaf nodes). They can 
thus be treated as completely ordinary repositories and a developer can 
largely ignore the additional complexities of subrepositories. Work can 
continue in these repositories even if their siblings become unavailable. 

당신이 기술 한 결과 구조 때문에 '진짜'코드와 그되지 권장되는 방법을 포함 subrepositories을 내포하고있다. 수은 문서에 따르면 권장 구조는 다음과 같습니다 (FrameworkMaster /가 중첩 된 하위 리포지토리의 자리 표시 자로 포함되었거나 '실제'코드가 포함되어 있는지 여부는 알 수 없습니다./FrameworkMaster /에 '실제'코드가있는 경우 다음은) 형제 리프 노드로 다음에 포함되어야합니다

ProjectMaster/ 
    Project/ 
    Framework/ 
    CommonLib/ 

따라서, 귀하의 질문에 대답하기 :

  • 이 당신에게 어떤 의미가 있습니까를? 하위 리포지토리가 포함되지 않은 이러한 종속성을 처리하는 더 좋고/더 쉬운 방법이 있습니까?

더 나은/간단한 방법은 복잡한 종속성을 단순화하기 위해 얇은 쉘 저장소를 사용하는 것입니다. 특히

  • , 그것은 감각 CommonLib의 subrepositories 모두를 가질 수 있도록 하는가?프로젝트 및 프레임 워크 모두 같은버전 또는 지점 CommonLib의에 따라하는 경우

은 다음 두 곳 모두에 그것을 가지고 이해가되지 않습니다. 그러나 Project 및 Framework에 대해 다른버전 또는 CommonLib 브랜치이 필요한 경우에는 두 위치 모두에서 CommonLib을 사용하는 것이 좋습니다.

  • 어디에서 지형지 물을 열겠습니까? 주인님? 관련 하위 저장소에만 있습니까?

여기에는 기능 분기가 무엇을 의미하는지 확실하지 않습니다. 여기서 '미래'라고 말하려고 했나요?

+0

흥미 롭습니다. 프레임 워크 개발자 만이 "FrameworkMaster"를 사용할 수 있다고 가정합니다. 기능 분기별로 특정 기능을 개발하는 데 사용되는 명명 된 분기를 참조했습니다 ([여기] (http://mercurial.selenic.com/wiki/Workflows#Feature_separation_through_named_branches) 참조). –

+0

이 경우 프레임 워크 및 CommonLib 하위 리포지토리 만 포함하는 FrameworkMaster에 대한 별도의 씬 리포지토리가있는 것이 좋습니다. 그런 식으로 프로젝트 개발자와 프레임 워크 개발자는 동일한 코드 기반으로 작업합니다. – samirjaiswal