우리는이 webapp 제품을 여러 고객을 위해 배포하고 svn에서 mercurial로 전환하는 것에 대해 생각합니다. svn에서 우리는 트렁크를 프로젝트의 핵심으로보고 지점을 고객별로 설정합니다.Mercurial : 다중 고객 프로젝트를위한 저장소 레이아웃
이제 최상의 레포 레이아웃이 수은에 무엇이 있을지 궁금합니다.
프로젝트는 기본적으로 세 개의 주 폴더 (html
, css
, js
)로 만들어집니다.
/html
의 내용은 고객에게 동일하게 유지되지만 /css
& /js
에 사용자 정의가 있습니다.
현재 이러한 사용자 지정 내용은 skin.css
과 같은 별도의 파일에 저장되므로 실제 용도별로 사용자 지정 내용을 수정/변경 내용에서 핵심/공통 파일로 명확하게 전달할 수 있습니다.
SVN을 사용하면 고객 지사의 변경 사항을 부분적으로 트렁크에 반영 할 수 있으므로 고객 프로젝트를 수행하는 동안 글로벌 문제를 수정할 수 있습니다. 내가 아는 바로는 부분 커밋은 현재 수은에 지원되지 않습니다.
그럼 어떻게하면 수은에서이 상황에 가장 잘 접근 할 수 있을까요? 우리는 하나의 중앙 코어 저장소 (릴리스 지점 포함)를 가지고 고객 프로젝트를 별도의 (원격) 저장소로 복제해야합니까? 고객 센터 : & 고객 센터 - 모든 리포 중 하나를 사용하는 것이 낫습니까?
모든 포인터에 대해 감사드립니다.
코어 및 고객으로부터 풀 (pull)이라고 말하면, 고객 별 리포지토리의 하위 리포지토리로 설정한다는 의미입니까? – Carsten
@Carsten, 고객 A를위한 빌드를 만들 때마다 핵심 (html)과 A 스타일의 두 부분이 필요합니다. 어떻게 설정해야할까요? "고객 별 리포지토리의 서브 리포지토리"가 의미하는 바를 정확히 알지 못합니다. –
죄송합니다. 조금 명확하지 않았습니다. 내가 맞으면 '고객 A'는 예를 들어 repo '고객'의 한 지점이 될 수도 있습니다. 이제 어떻게 코어 레포를 다루겠습니까? '핵심'체크 아웃 고객 repo에 Mecurial subrepo가 있습니까? 아니면 코어 파일을 고객 작업 복사본으로 가져 오시겠습니까? – Carsten