문제

최근에 SVN 서버를 옮겼으며 이제 컴퓨터에서 새 서버로 작업 사본을 재배치하기 위해 트링하고 있습니다. 그러나 나는 가장 이상한 오류를 얻습니다. 그렇다 :

svn switch http://99.99.99.new/svn/company/project/trunk/web

그러나 나는 얻는다

svn: 'http://99.99.99.old/svn/company/project/trunk/web'
is not the same repository as
'http://99.99.99.new/svn/company/project'

이동은 덤프와 가져 오기로 만들어졌고 repo 루트가 켜져 있습니다. http://99.99.99.new/svn/company/project

너희들은 무엇이 잘못되었는지에 대한 아이디어가 있습니까? 정말 감사합니다

도움이 되었습니까?

해결책

사용해보십시오

svn switch --relocate http://99.99.99.old/svn/company/project/trunk/web http://99.99.99.new/svn/company/project/trunk/web

Sporino가 주석에서 언급 한 바와 같이, Subversion 1.7 이후, 분리 된 사람이 있습니다. relocate 명령:

svn relocate http://99.99.99.old/svn/company/project/trunk/web http://99.99.99.new/svn/company/project/trunk/web

다른 팁

또한 TortoisesVN에는 "재배치"옵션이 있습니다.이 옵션은 "스위치"옵션 대신 이와 같은 상황에서 사용해야합니다.

SVN 재배치를하는 가장 좋은 방법은 다음과 같습니다.

svn switch --relocate $(svn info | grep ^URL | cut -f 2 --delim=' ') \
                      new_url_or_repository

이런 식으로 svn info 명령, 당신은 일반적인 오류 중 하나 인 잘못된 것을 입력하지 않을 것입니다.

모든 것이 올바른 경우 새 위치에 대한 인증 세부 사항이 표시됩니다.

명령을 발행 한 후에는 URL 매개 변수를보고 발행 한 변경 사항이 적용되었는지 확인하십시오.

svn info

재배치 후 작업 사본을 업데이트하여 모든 것이 정상인지 확인하십시오.

svn update

내 2C ..

사용 relocate 명령 줄 매개 변수 switch 명령.

SVN 스위치 문서

때로는 관리자가 저장소의 "기본 위치"를 변경할 수 있습니다. 즉, 저장소의 내용은 변경되지 않지만 저장소의 루트에 도달하는 데 사용되는 기본 URL이 변경됩니다. 예를 들어, 호스트 이름이 변경 될 수 있습니다. 또는 URL 스키마 또는 유리가 저장소로 이어지는 경로 일 수 있습니다. 새 작업 사본을 체크 아웃하는 대신 SVN Switch 명령이 작업 사본의 모든 URL의 시작을 "다시 작성"할 수 있습니다. -relocate 명령을 사용하여 대체를 수행하십시오. 파일 내용이 변경되지 않았으며 저장소에 연락하지도 않습니다. S/OldRoot/Newroot/를 실행하는 작업 사본을 통해 PERL 스크립트를 실행하는 것과 유사합니다.

-relocate 옵션을 사용해야합니다.

svn switch --relocate http://99.99.99.new/svn/company/project/trunk/web

보다 svnbook 자세한 사항은.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top