2010-02-02 2 views
1

시작하기 전에 다음은 Visual Studio 2008과 함께 TortoiseSVN 1.6.x 및 ASP.NET 웹 프로젝트를 예제로 사용하여 얻은 지식을 기반으로합니다.여러 프로젝트가 포함 된 솔루션으로 SVN을 관리하는 모범 사례

사례 연구

말, 행복한 일 시나리오에서, 전형적인 Subversion 저장소 구조가 어딘가에 유사 할 수있다 :

/trunk 
    /Solution1 
     /ProjectA 
     /ProjectB 
     /ProjectC 
/tags 
    /Solution1 
     /version_1.0-rc 
     /version_1.1 
/branches 
    /users 
     /travis 
      /Solution1 
     /john 
      /Solution1 
  • Solution1는에 1을 포함하는 비주얼 스튜디오 솔루션입니다 많은 비주얼 스튜디오 프로젝트.
  • 사용자가 자신의 솔루션 분기에서 작업하면서 트렁크에 다시 병합합니다. 아무도 트렁크에 직접 노력하고 있지 않습니다.
  • 태그는 공개 될 때마다 트렁크에서 생성됩니다.

그러나 현실 세계에서 프로젝트 구조는 다양한 Visual Studio 솔루션간에 많은 Visual Studio 프로젝트를 공유하기 때문에 그렇게 간단하지 않습니다. 각각 FundamentalComponents.ExternalLibraries 폴더에있을 것입니다

/trunk 
    /CandyLand 
     /Candy.Web.Pages 
     /Candy.Web.Services 
     /Candy.Tests 
    /LollyApp 
     /Lolly.App.WinForm 
     /Lolly.App.Services 
     /Lolly.Tests 
    /Fundamental 
     /Fundamental.BusinessObjects 
     /Fundamental.DataAccess 
    /Components.ExternalLibraries 
     /Subsonic-2.2 
     /Moq-3.1 
     /Lucene.NET-2.0 

어디 예에서이 개 제품 CandyLolly 및 공유 구성 요소 (비주얼 스튜디오 프로젝트, DLL을)이 있습니다 : 저장소는 더 많은 것 같습니다. 이동

+ CandyLand 
    + Candy.Web.Pages 
    + Candy.Web.Services 
    + Candy.Tests 
    + Fundamental.BusinessObjects 
    + Fundamental.DataAccess 
    + Subsonic-2.2 
    + Moq-3.1 

: 같은

하면 솔루션 구조 뭔가를 보일 수 있습니다, 나는 그 저장소에서 파일뿐만 아니라 필수 구성 요소를 체크 아웃 할 필요가 CandyLand 비주얼 스튜디오 솔루션에서 작동하기 위해 트렁크를 작업 가정 체크 아웃과 네스트 폴더를 함께 사용하면 약간 짜증나게됩니다. 우리는 배치 스크립트를 사용하여이 작업을 수행합니다.

문제는 나는 그것이 불가능 사용자 분기는 분기 솔루션의 프로젝트가 아닌 공유 프로젝트를 포함 이러한 상황에서 분기하는 발견했다.

태그 지정과 동일하므로 제품 솔루션의 개정판 스냅 샷과 해당 공유 구성 요소를 모두 포함하는 태그를 만들 수 없습니다.

.

잘못된 방향으로 가고 있습니까? 이 저장소를 관리하기가 너무 어렵게 만들었습니까?

+0

왜 그냥 일반적인 루트로'/ trunk' (CandyLand, LollyApp, ...) 아래에있는 모든 폴더를 이동할 수 없습니다 ('/ 트렁크/캔디)? 그런 다음'/ trunk/Candy'를 브랜치/태그하고 공유 프로젝트와 라이브러리를 포함하는 브랜치/태그를 생성 할 수 있습니다. – bzlm

답변

1

svn : externals을 사용하여 Candyland 아래에 폴더를 포함하십시오. 아래의 예에서

에서, * 외부 표시 :

+ CandyLand 
    + Candy.Web.Pages 
    + Candy.Web.Services 
    + Candy.Tests 
    * Fundamental.BusinessObjects 
    * Fundamental.DataAccess 
    * Subsonic-2.2 
    * Moq-3.1 
+0

유망한 소리, 나는 이것을 시험해보아야한다.세부 정보 페이지에 대한 링크가 있습니까? 감사. –

+0

매력처럼 작동합니다. 다시 감사합니다. ps/나는 http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-externals.html에 따라 나의 해결책을 세웠다. –

관련 문제