developer tip

svn 스위치 오류-동일한 저장소가 아닙니다.

copycodes 2020. 10. 16. 07:33
반응형

svn 스위치 오류-동일한 저장소가 아닙니다.


최근에 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'

이동은 덤프 및 가져 오기로 이루어졌으며 저장소 루트는 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에는 "Relocate"옵션이 있으며, 이러한 상황에서 사용해야합니다 ( "Switch"옵션 대신).


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

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

이런 식으로 svn info명령 에서 올바른 이전 URL을 사용 하면 일반적인 오류 중 하나 인 잘못된 URL을 입력 할 수 없습니다.

모든 것이 정확하면 새 위치에 대한 인증 세부 정보가 다르면 메시지가 표시됩니다.

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

svn info

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

svn update

내 2c ..


relocate명령 줄 매개 변수를 명령에 사용하십시오 switch.

svn 스위치 문서

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


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

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

자세한 내용 svnbook 을 참조하십시오.

참고 URL : https://stackoverflow.com/questions/925698/svn-switch-error-is-not-the-same-repository

반응형