2012-04-02 1 views
1

우리는 공통 핵심 주위에 여러 제품 라인을 구축했으며 현재이를 외부 인터페이스를 사용하여 SVN에서 유지 관리합니다. 수은으로 이동하면 hg sub-repositories으로 이동하는 것이 자연 스럽습니다.여러 프로젝트 사이에 핵심 코드베이스 공유

코어가 상당히 큽니다 (아마도> GB, SVN repo로 판단). 일반적인 개발자는 3-4와 같이 여러 제품에서 동시에 작업하기를 원합니다.

일반적으로 개발자가 전체 개발자의 코어를 전체 개발자와 3-4 번 복제하게된다는 의미입니다. 또한 개발자가 다른 제품에서 몇 가지 간단한 작업을 수행하려는 경우 클라이언트가 이미 여러 번 사용할 수있는 경우에도 코어를 먼저 가져와야한다는 의미일까요?

답변

0

하위 저장소를 실제로 공유하려면 (이 아닌 작업 복사본) share extension을 사용할 수 있습니다. 그러나 이렇게하면 복제 프로세스가 다소 직관력이 떨어집니다.

hg clone -U remote_core core 
hg clone -U remote_projectA projectA 
cd projectA 
hg share ../core core 
hg update 
cd .. 
hg clone -U remote_projectB projectB 
cd projectB 
hg share ../core core 
hg update 

등등. 그러나 나는이 설정으로 두통 이상을 겪을 것이라고 경고합니다. 직장에서는 비슷한 설정이 있지만 대신 공유 하위 저장소는이를 사용하는 각 프로젝트에 대해 분기 (명명 된 분기가 아닌 복제 분기, 전용 마스터 리포지토리)를 갖습니다. 그런 식으로 프로젝트는 공유 코드를 독립적으로 수정하면서도 쉽게 병합 할 수 있습니다.