programing

트렁크에서 분기로 SVN 전환

nasanasas 2020. 11. 26. 08:27
반응형

트렁크에서 분기로 SVN 전환


저는 SVN이 호스팅하는 프로젝트의 루트 폴더에 있으며 trunk두 개의 브랜치를 설정하는 방법을 모색하고 있습니다.

하나의 브랜치는 현재 (안정된) 리비전에서 프로젝트의 "스냅 샷"이 될 것이고, 두 번째 브랜치는 몇 가지 새로운 코드를 적용하고 테스트 한 다음 트렁크를 새 버전으로 업그레이드하기 위해 작업 할 것입니다.

제 목표는 스냅 샷을 보험으로 유지하고 우리 프로젝트의 오래되고 안정적인 버전을 얻는 빠른 방법입니다. 두 번째 브랜치는 새로운 코드를 적용하고 테스트를 통과하면 다시 트렁크에 병합되어 일반에게 제공됩니다.

스냅 샷을 설정하기 trunk위해 다음과 같은 브랜치에 복사했습니다 v1p2p3.

$ svn cp https://www.example.com/svn/trunk \ 
         https://www.example.com/svn/branches/v1p2p3 \
         -m "Branching from root trunk to v1p2p3 at r1114"

여태까지는 그런대로 잘됐다:

Committed revision 1115.

내가하고 싶은 것은 내 로컬 저장소 사본을이 브랜치로 전환하여 작동하는지 확인하는 것입니다.하지만 오류 메시지가 나타납니다.

$ svn switch --relocate https://www.example.com/svn/trunk \
                        https://www.example.com/svn/branches/v1p2p3

오류 메시지는 다음과 같습니다.

svn: E155024: Invalid relocation destination: 
              'https://www.example.com/svn/branches/v1p2p3' 
              (does not point to target)

내가 도대체 ​​뭘 잘못하고있는 겁니까?

(이게 작동하지 않으면 더 야심 찬 두 번째 브랜치에서 시작할 수 없다고 생각합니다. 기존 프로젝트 레이아웃을 손상시키지 않는 방법을 찾고 있습니다. 조언에 감사드립니다. 이것이 멍청한 질문이라면 사과드립니다.)


--relocate브랜치가 동일한 저장소 URL 내에 있으므로 필요하지 않습니다 . 그냥 해:

svn switch https://www.example.com/svn/branches/v1p2p3

  • (올바른) tzaman 대답의 짧은 버전은 (새로운 SVN의 경우)입니다.

    svn switch ^/branches/v1p2p3
    
  • --relocate스위치는 어쨌든 더 이상 사용되지 않습니다. 필요한 경우 svn relocate명령 을 사용해야합니다.

  • 스냅 샷 분기 (ReadOnly)를 만드는 대신 태그 (기록에 대한 기존 RO 레이블)를 사용할 수 있습니다.

Windows에서는 캐럿 문자 ( ^)를 이스케이프해야합니다.

svn switch ^^/branches/v1p2p3

참고 URL : https://stackoverflow.com/questions/14656527/svn-switch-from-trunk-to-branch

반응형