2010-05-20 2 views
3

자주 "원본"저장소의 주요 저장소를 갖고 싶습니다. "유사한"여러 프로젝트가 있습니다. 각 하위 프로젝트에는 대부분 동일한 파일이 포함되어 있지만 구성 가능한 특정 인스턴스입니다. 즉, 일반적으로 각 인스턴스마다 다른 파일과 디렉토리가 필요합니다.Mercurial에서 겹쳐지는 저장소로 작업하는 방법

CVS에서 주 저장소와 보조 저장소를 만드는 데 사용한 다음 모듈 파일을 사용하여 두 개의 특정 이름을 함께 바인딩합니다. SVN에서 svn : externals를 사용하여 보조 디렉토리를 기본 디렉토리에 다시 묶었습니다.

Mercurial은 어떻게 작동합니까?

+0

이 답변에 대한 정확한 내용이 필요합니까? (당신은 단지 그것에 "진드기"답을 취소하기 때문에) – VonC

+0

일종의 sub-repos는 좋지만 분산 리파지토리가 어떻게 작동하는지 모르겠습니다. 그래서 나는 진드기를 뽑아 다른 대답이 있는지 알아 보았다. –

+0

문제 없습니다. 부수적으로, 서브 레포는 분산 리포지토리와 잘 작동합니다. 서브 레포를 포함 할 필요가있는 다른 많은 메인 레포지에서 공유 할 수있는 고유 한 리비전 키로 표현되기 때문입니다. – VonC

답변

4

다른 특정 파일의 특성에 따라 다릅니다. 당신이 템플릿 파일로 변환 할 수있는 경우
, 당신은 할 수 있습니다 SubRepos는 "당신은 서브 디렉토리로 얻을 수있는 가장 가까운이 표시됩니다

  • 이 문서에서 말했다의 (a SubRepo로 공유 주 REPO가 svn:externals 속성 것 유사한 "프로젝트")
  • 가있다 " 이
    • 포함을하는 subrepo (referencing a specific revision)
    • 실행 t을하는 버전 스크립트로 주요 REPO 호스 템플릿 파일 및 실제 환경에 맞는 값으로 실제 파일을 빌드하십시오.

당신이 계속 그런 식으로은 (주 REPO에서) 템플릿과 (각 유사한 프로젝트가 특정 환경에 따라에 대해 알고) 값을 구분합니다.
파일의 모든 변형을 "인스턴스화 할 템플릿"으로 처리 할 수있는 것은 아닙니다.

+0

소스 코드의 디렉토리 (단순하게 만들기 위해)와 설정 파일의 디렉토리가 있다면, 소스가 서브 디렉토리 인 몇 개의 repos를 생성 할 수 있습니다 -repo, config 파일은 다릅니 까? 그게 효과가 있니? –

+0

예를 들어, ConfigInstanceA와 ConfigInstanceB는 둘 다 공통 src 디렉토리를 공유합니다. ... –

+0

@Paul : 일단 공유해야하는 경우, 해당 항목을 전체 repo로 만듭니다 (여기에서 'src'및 'config files'). 그들 자신의 repos가 되라.) MainA는 "src"와 "config"를 참조하지만, "config"내에서 템플릿 파일을 가져 와서 "A"환경의 값과 함께 올바른 "configA"파일을 생성 할 수있는 스크립트를 직접 참조 할 수도 있습니다. "MainB"에 대해서도 마찬가지입니다. – VonC

관련 문제