2012-05-01 4 views
0

우리는 제품군을 구축 중입니다. 패밀리 내의 각 제품은 공통 "인프라"구성 요소로 구축됩니다. 따라서 우리는 제품군 A, 제품 B 및 인프라 패밀리 내에서 작동하는 다양한 응용 프로그램 팀을 운영하고 있습니다.SVN 제품군의 버전 관리

일반적으로 제품 A, B .. X 및 인프라는 서로 독립적 인 자체 릴리스주기를 갖습니다. 따라서 우리의 버전 관리 전략은 2 배가됩니다. 제품/인프라는 독립적으로 버전을 지정하고 배포 된 제품군의 버전이 지정됩니다.

모든 제품은 동시에 생성 될 것이다. 따라서, 몇몇 실시 예는 배포 -

Family1.0 [인프라 1.0, 제품 A-1.0]

Family1.0.1 [인프라 1.0, 제품 A-1.1]

Family1.2 [ 인프라 1.1, 제품 A-2.0]

Family2.0 [인프라 1.2, 제품 A-2.0, 제품 B-1.0 그러므로]

0 바와 같은 SVN 디렉토리 구조를 작성한

내 질문에 내가 다음과 같은 가능한

/family 
    /tags 
     /tag1.0 <-- should refer to infrastructure tag 1.0 and product A tag1.0 
/product A 
    /tags 
     /tag1.0 
/infrastructure 
    /tags 
     /tag1.0 

는 따라서, 가족 tag1.0이 태그 1.0 및 인프라 tag1.0 제품을 참조해야 할 수있는 방법입니다.

+1

에 SVN 자체 않지만, 배포 및 의존성 관리 소프트웨어와 함께 우리가 의존하고 SVN을 관리하기 SVN을 사용하는 – zerkms

+0

는 배포 스냅 샷을 관리 할 수 – Jimm

답변

1

당신은 SVN 사용할 수 있어야합니다 : 외관의 properety (here를) 대신 다른 사람 저장소에 링크의 당신은 당신의 저장소를 지정합니다.

그래서 제품 A는 http://myrepourl.com/infrastructure/tags/tag1.0

에 외부 세트를 가질 것 그리고 제품은 http://myrepourl.com/infrastructure/tags/tag1.1에 외부 세트를 가질 수있을.

이것은 내가 그것을 구성 파일에 어떻게 든했다 않는 한 여러 종속성을 달성하기 위해 생각할 수있는 유일한 방법 (또는 올바른 인프라를 체크하는 버전 스크립트)입니다.

0

당신은 다음 태그 폴더에 루트를 분기 모든 프로젝트의 스냅 샷을하려면

당신은에서 이동 : 아마 당신의 질문은 아무것도에 대한이 없습니다

/tags 
/trunk 
    /family   
    /product_A 
    /product_B 
    /infrastructure 

/tags 
    /tag1.0    ; Snapshot of trunk with all the projects 
     /family   
     /product_A 
     /product_B 
     /infrastructure 
/trunk 
    /family   
    /product_A 
    /product_B 
    /infrastructure