2011-09-29 3 views
1

SVN Book chapter on "Switching a Working Copy" 스위치를 수행하면 1) 작업 복사본이 분기로 바뀌었고 (마치 신선한 체크 아웃을 수행 한 것처럼) 2) 작업 복사본에 대한 편집이 유지되므로 (작업을 커밋 할 수 있도록) 스위치가 신선한 체크 아웃처럼 보이게하면 편집 내용을 보존 할 수 없기 때문에 이것은 내게 일관성이없는 것처럼 들립니다. 누구든지 설명해 주시겠습니까? 여기 "작업 복사본 전환"에 대한 SVN Book 불일치가 있습니까?

는 관련 따옴표입니다

분기에 "전환"한 후, 작업 사본은 디렉토리의 신선한 체크 아웃을 수행에서 얻는 것보다 다르지 않습니다.

... 예를 들어

, 당신은/CALC/트렁크의 작업 복사본을 가지고 그것에 많은 변화를 만들어 가정합니다. 그런 다음 갑자기 나뭇 가지를 변경하려고한다는 것을 갑자기 깨닫게됩니다. 문제 없어! 작업 복사본을 지사로 전환하면 로컬 변경 사항이 유지됩니다. 그런 다음 분기에 테스트하고 커밋 할 수 있습니다.

TIA

답변

3

체크 아웃 "스위치 및 업데이트"라는 해당 페이지의 상자 :

당신은 SVN 스위치와 SVN 업데이트의 출력이 같은 모습 것으로 나타났습니다? switch 명령은 실제로 update 명령의 상위 집합입니다.

svn update를 실행하면 저장소에 두 개의 트리를 비교하도록 요청합니다. 리포지토리는이를 수행 한 다음 차이점에 대한 설명을 클라이언트에 보냅니다. svn switch와 svn update의 유일한 차이점은 update 명령은 항상 두 개의 동일한 경로를 비교한다는 것입니다.

작업 복사본이/calc/trunk의 미러 인 경우 svn update는/calc/trunk의 작업 복사본을 HEAD 버전의/calc/trunk와 자동으로 비교합니다. 작업 복사본을 분기로 전환하는 경우 svn switch는/calc/trunk의 작업 복사본을 HEAD 개정의 다른 분기 디렉토리와 비교합니다.

즉, 업데이트는 작업 복사본을 시간 경과에 따라 이동시킵니다. 스위치는 작업 복사본을 시간과 공간을 이동합니다.

기본적으로 "스위치"명령은 SVN, "이봐 요,이 새로운 저장소 URL로 작업 복사본을 백업 한 다음 작업 복사본을 최신 URL로 최신 버전으로 업데이트"라고 생각하십시오.

작업 전환을 로컬 수정하지 않은 경우 "전환"하여 작업 복사본을 새로운 URL로 새로 체크 아웃하는 것처럼 보이게하는 주석이 정확합니다. 로컬 수정이있는 경우 정확하지 않습니다. 이 경우 작업 사본은 새 URL을 새로 체크 아웃 한 것으로 보이며 수정 내용이 병합됩니다.

+0

감사합니다. –

관련 문제