IT TIP

현재 파일을 덮어 쓰도록 SVN 체크 아웃 명령 강제 실행

itqueen 2020. 11. 23. 20:41
반응형

현재 파일을 덮어 쓰도록 SVN 체크 아웃 명령 강제 실행


SVN에 기존 사이트를 추가하고 있습니다.

파일은 이미 웹 서버에 존재하며 이제 동일한 사본 (-구성 파일)이 저장소에 있습니다.

웹 서버 디렉터리를 SVN 작업 복사본으로 변환하고 싶지만 실행할 때 :

svn checkout http://path.to/svn/repo/httpdocs .

오류가 발생합니다.

svn : 파일 ''추가 실패 : 같은 이름의 개체가 이미 있습니다.

내용이 같은 파일을 덮어 쓰도록 SVN에 어떻게 지시합니까?


--force옵션을 시도하십시오 . svn help checkout세부 사항을 제공합니다.


svn checkout --force svn://repo website.dir

그때

svn revert -R website.dir

website.dir에있는 기존 파일을 체크 아웃하지만 덮어 쓰지는 않습니다. 그런 다음 되돌리기가이를 덮어 씁니다. 이렇게하면 사이트를 완료하기 위해 사이트를 중단 할 필요가 없습니다.


이것은 매우 쉽게 할 수 있습니다. 내가 한 것은 버전 제어가 아닌 기존 디렉토리를 임시 디렉토리로 이동하는 것뿐이었습니다. 그런 다음 SVN 버전을 올바른 디렉토리 이름으로 체크 아웃하고 임시 디렉토리에서 SVN 디렉토리로 파일을 복사 한 다음 SVN 디렉토리의 파일을 되돌 렸습니다. 이해가되지 않는 경우 아래 예가 있습니다.

/usr/local/www

mv www temp_www
svn co http://www.yourrepo.com/therepo www
cp -pR ./temp_www/* ./www
svn revert -R ./www/*
svn update

이것이 도움이되기를 바라며 왜 단순한 SVN 업데이트가 파일을 다시 변경하지 않았는지 모르겠습니까?


컴퓨터를 제어 할 수 없기 때문에 1.5를 사용할 수 없었습니다. 문제를 일으킨 파일은 lib 디렉토리의 .jar 파일이었습니다. 문제를 해결하기 위해 내가 한 일은 다음과 같습니다.

rm -rf lib
svn up

이것은 Ned의 대답을 기반으로합니다. 즉, 전체 저장소가 아닌 문제를 일으키는 하위 디렉토리를 제거했습니다.


다음, 새로운 디렉토리에 저장소에서 당겨에 이전의 이름을 변경 old_crufty하고,에 새로운 하나를 my_real_webserver_directory, 그리고 넌 좋은 이동합니다.

모든 파일이 SVN에있는 것이 의도 된 경우 이론을 테스트하는 좋은 방법입니다. 일부 파일이 SVN에없는 것이 의도 된 경우 Brian의 복사 / 붙여 넣기 기술을 사용하십시오.

참고 URL : https://stackoverflow.com/questions/312491/force-an-svn-checkout-command-to-overwrite-current-files

반응형