2011-08-03 4 views
2

기본적으로 다음과 같이하고 싶습니다. 특정 버전의 코드를 체크 아웃하고 싶지만 해당 버전을 사용할 수없는 경우 체크 아웃하십시오. 어쨌든 나는 이것을 할 수있는 방법을 이해할 수가 없다. 몇 가지 방법 내가 시도 :svn checkout 한 번에 다른 버전을 체크 아웃 하시겠습니까?

  1. svn co <url> -r HEAD:75
    가 작동하지 않습니다;

  2. svn co <url>
    svn co <url> -r 75
    이 내가 그것을 특정 버전을 체크 아웃 할 기본적으로

(75)의 버전을 가지고하지 않는 원본 파일을 지워 버리고 체크 아웃에 대한 개정 범위를 사용할 수 없습니다 보인다 그 버전이 존재하지 않는 파일에 대한 최신 버전을 구하거나 적어도 기존 버전을 삭제하지 마십시오.

다른 방법이 있습니까?

감사합니다. SVN의 장점의

+0

나는 그것이 가능하지 않다고 생각합니다. 당신이 비슷한 것을 할 수 있다는 사실은 내가 아직도 CVS에서 놓친 한가지 특징이다. –

답변

0

하나는 원자 간주됩니다 그래서 하나가 모든이 발생하거나 아무도 그것의 일이 없다는 것입니다. "일종의"일이 이루어지는 중간 단계가 없습니다.

더 중요한 것은 SVN의 버전 번호가 파일 수준이 아닌 전체 저장소를 기반으로하기 때문에 모든 파일의 최신 버전이 필요한 경우 머리를 맞출 수 있다는 것입니다. 정의에 따르면, 그것은 모든 것의 최신 것입니다.

일부 파일/기능이 절반 이상 완료되어 배포가 중단 될 수 있다는 우려 사항이있는 경우 분기를하면보다 쉽게 ​​생활 할 수 있습니다. 병합 할 준비가 될 때까지 새 분기를 만들고 실험 개발을 수행하십시오. 힘내는 것만 큼 쉽지는 않지만 시간의 99 %는 그렇게 나쁜 것은 아닙니다.

+0

내 문제는 다음과 같습니다. 내 프로젝트는 많은 하위 프로젝트와 공통 코드 디렉토리로 구성됩니다. 하위 프로젝트는 공통 코드에 의존합니다. 그러나 체크인은 공통 코드 및 하위 프로젝트에 대해 독립적으로 처리됩니다. 이제 내가 원하는 것은 체크 아웃을하는 것인데, 서브 프로젝트 proj1에 대해 버전 75을 말하면 공통 코드에서 버전 75가 없으므로 공통 코드에서 75 개의 proj1과 HEAD를 얻을 수 있습니다. 기본적으로 SVN이 파일에 대해 ver 75를 찾으면 체크 아웃하고, 체크 아웃하면 HEAD를 체크합니다. – Rahul

0

SVN 작업 디렉토리에없는 파일의 복사본을 얻는 것이 허용 될 수 있다면 svn export 명령을 사용하여 서로 다른 두 버전을 위에 겹쳐서 추출 할 수 있습니다 디렉토리 :

svn export -r HEAD 
svn export -r 75 

r75 사본은 이미 존재하는 파일에 대한 HEAD 개정판의 내용을 덮어 써야합니다. 면책 조항 : 나는 이것을 시험하지 않았다.

+0

이것은 하나의 그룹에 대해서는 문제를 해결하지만 모두에 대해서는 해결하지 못합니다. 난 여전히 솔루션을 (가능하다면) 어떻게 든이 SVN 작업 디렉토리에서 일하는 얻을 그림 싶습니다. – Rahul

관련 문제