2014-01-13 6 views
1

개정 본 섹션의 SVN 체크 아웃 마법사에서 사용 가능한 두 가지 옵션은 HEAD/개정 번호입니다.복수 개정 번호를 사용하여 Tortoise SVN 체크 아웃

사례 : 개발자 A는 버전 1에서 3 개의 파일을 검사하고 개발자 B는 버전 2에서 2 개의 파일을 검사하고 개발자 C는 버전 3에서 2 개의 파일을 체크인했습니다. 전체적으로 7 개의 파일 경로 수정이 있지만 실제로는 4 개의 파일이이 수정 내에서 수정되었습니다.

내 문제 : 단일 체크 아웃 트랜잭션에서이 3 개의 리비전 만 체크 아웃하고 싶습니다.

문제점 : 로그보기를 클릭하면 각각의 파일 경로가 변경된 버전 3,2,1이 표시됩니다. 3,2,1 수정 버전을 선택하고 확인을 클릭하면 수정 상자에 버전이 1,2,3 대신 1로 표시됩니다.

하나의 계산대에서 여러 버전을 svn checkout하는 옵션이 있습니까 ?? 제발 도와주세요

답변

4

당신은 SVN에서 수정이 어떻게 작동하는지 오해하고 있습니다.

개발자 A가 첫 번째 파일을 체크인하면 수정본 1이 제공되고 개정 본 1은 HEAD 개정판이됩니다.

개발자 B는 파일을 체크인하고 저장소의 개별 파일이 현재 버전을 마지막으로 수정 된 개정판으로 유지하더라도 개정판 2가됩니다 (두 번째로 저장소가 변경됨).

DevAFile1  v1.0 
DevAFile2  v1.0 
DevAFile3  v1.0 
DevBFile1  v2.0 
DevBFile2  v2.0 
HEAD   v2.0 

C 지금이 개 더 파일에 검사 개발자, 해당 파일 (전체의 repo)이 개정 3은 다음과 같습니다 : 그래서 지금, 우리는 다음이

DevAFile1  v1.0 
DevAFile2  v1.0 
DevAFile3  v1.0 
DevBFile1  v2.0 
DevBFile2  v2.0 
DevCFile1  v3.0 
DevCFile2  v3.0 
HEAD   v3.0 

HEAD 지금 개정 3, 개발자 A의 세 가지 v1 파일, 개발자 B의 두 v2 파일 및 개발자 C의 두 v3 파일로 구성되어 있습니다. 따라서 HEAD 버전을 확인하면 개별 개발자의 세 가지 개별 버전이 제공됩니다. 모두 버전 HEAD입니다.

이 내용은 TortoiseSVN 도움말 파일 섹션 2.3.3에 설명되어 있습니다. 개정

글로벌 개정 번호 다른 많은 버전 관리 시스템들과 달리

은 Subversion의 리비전 번호는 전체 나무가 아닌 개별 파일에 적용됩니다. 각 리비전 번호는 커밋 된 변경 후에 저장소의 특정 상태 인 전체 트리를 선택합니다. 그것에 대해 생각해 볼 수있는 또 다른 방법은 N 번째 커밋 이후 리비전 N이 리포지토리 파일 시스템의 상태를 나타내는 것입니다. Subversion 사용자가 리비전 5에 나타나는대로 revision 5 of foo.c'', they really mean foo.c에 대해 이야기 할 때. ''일반적으로 파일의 수정본 N과 M은 반드시 다르지는 않습니다!

이것은 TortoiseSVN의 Show log을 저장소의 개별 파일에 사용하여 확인할 수 있습니다. 예를 들어, DevFileA1을 보면 다음과 비슷한 것을 볼 수 있습니다 :

Revision Action Author Date  Message 
======== ====== ====== ======== ======= 
3   ...  DevC xx/xx/xxxx Last update message of repo from DevC 
1   ...  DevA xx/xx/xxxx Checkin message from DevA