2010-04-26 2 views
4

거북이가 같은 저장소에 리포지토리를 혼합하게합니까? 내가 원하는 것은 별도의 저장소에 코드, configs 및 바이너리를 저장하는 것입니다.거북이의 혼합 저장소

+0

Lasse가이 작업을 수행하는 방법을 보여 주긴했지만 다시 생각해 보겠습니다. 다른 저장소간에 공유되는 코드에만 외부 객체를 사용합니다. 구성 및 바이너리 (왜 바이너리, BTW? 소스에서 다시 생성 할 수 있다면 체크하지 마십시오!)이 소스에만 속해 있습니다. 왜 함께 사용하지 않을까요? 그것은 무엇을 얻게됩니까? – sbi

+0

이유는 프로덕션 서버를 매일 새로운 바이너리를 픽업하도록 스크립트하고 싶기 때문입니다. 나는이 보안 구멍을 꽂으려고 노력하고있어 거기에 좋은 ftp 해결책이 있다는 것을 확신한다. 나는 곧 SSL을 가질 것이지만, 당분간 이것은 좋은 해결책처럼 보입니다. 나는 이것을위한 다른 저장소를 가지고있다. 프로덕션 바이너리 저장소는 실제로 프로덕션 서버에 있으므로 다른 사용자 및 방화벽 설정을 가질 수 있습니다. 또한 브랜칭 및 태깅을 통해 다른 제작, 테스트 및 개발 버전을 가질 수 있기를 바랍니다. 계속 ... – Martin

+0

... 나는 당신이 볼 수있는 것처럼 이것을 100 % 밖으로 생각하지 않았습니다. 흥미로운 토론입니다. 아마도 새로운 스레드를 시작할 것입니다. – Martin

답변

4

svn:externals 속성을 사용하여 외부를보아야합니다. 그러면 다른 저장소에 대한 외부 참조가있는 하나의 저장소를 가질 수 있습니다.

trunk/       <-- repository A 
    config/      <-- repository B 
    binaries/     <-- repository C 
    code/      <-- repository A 

당신은, 그러나, 복사 작업 하나에 다른 저장소에서 파일을 혼합 할 수 없습니다,하지만 당신은에서 작업 카피의 하위 디렉토리를 확인하기 위해 외부 부품을 사용할 수 있습니다

예를 들어,이 작업을 수행 할 수 있습니다 다른 저장소.

외부에 대한 자세한 내용은 svnbook : Externals Definitions을 확인하십시오.

+0

완벽! <문자 작성> – Martin

0

하나의 체크 아웃에 여러 저장소의 항목이 포함될 수 있는지 여부를 나타내는 경우, 아니오입니다. 코드, 설정 및 바이너리에 대한 하위 폴더가있는 하나의 저장소를 사용해야합니다.

3

Subversion은 거의 모든 종류의 혼합 작업 복사본을 허용합니다. 다른 리비전, 리포지토리 내의 다른 위치 및 다른 리포지토리를 결합 할 수 있습니다.

http://svnbook.red-bean.com/en/1.5/svn.advanced.externals.html

그러나, 서로 다른 소스를 결합이 혼합 작업 사본을 처리하기가 어려울 수 있습니다 :

당신이 언급이 기능은 외관로 수행됩니다. 변경 사항을 적용 할 때이 사실을 기억하고 각 소스마다 다른 체크 아웃을 수행해야합니다. 그리고 다른 저장소 사이에서 물건을 병합 할 수 없으므로 적절한 역사가없는 것입니다.

솔직히 말해서, 하나의 프로젝트를 3 개의 다른 리포지토리로 나눌 이유가 거의 없습니다.

+0

결론에 유의해야합니다. 그것을 밖으로 시도한 후에, 그것은 작동하지만, 아마도 그것이 가치가 없다는 것을 알게하십시오. 제 경우에는 보안상의 이유로 그렇지만 더 좋은 방법이 있습니다. – Martin