본문 바로가기

개발&컴퓨터/개발도구

[오류해결] svn cleanup failed-previous operation has not finished; run cleanup if it was interrupted

반응형

Previous operation has not finished; run 'cleanup' if it was interrupted

svn cleanup failed–previous operation has not finished; run cleanup if it was interrupted


직접 겪은 것은 아니고, 동료가 겪은 문제라 해결을 도와주다가 알게 된 방법입니다.

실제 해결 방법은 가장 마지막에 작성한 참고 블로그를 통해 알게 되었습니다.


일단 정확한 발생 원인은 모르겠으나 SVN을 통한 Update 과정에서 발생하는 것으로 보입니다.

Update 과정에 SVN과의 접속이 예상치 못하게 끊겨 정상적으로 처리가 완료되지 못하면 종종 발생하는 것 같습니다.


일단 SVN Clean up 을 통해서 해결이 될 줄 알았습니다.

오류 안내 메시지가 그랬거든요.


이전 작업 도중이 완료되지 못하였습니다. 만약 작업 중단되었다면 'cleanup' 을 실행하세요.

SVN cleanup 실패 - 이전 작업이 완료되지않았습니다. 만약 작업 중단되었다면 'cleanup' 을 실행하세요.


그런데 cleanup 을 하고 실행해도 같은 오류가 계속하여 뜹니다.



해결 방법은 다음과 같았습니다.

SqlLite 내려 받은 후, 프로젝트의 SVN 폴더에 복사합니다.

아래 주소에서 받으실 수 있습니다. (윈도우 사용자인 경우 아래 스크린샷에 빨간 박스로 된 파일을 받으시면 됩니다. 다른 환경이라면 환경에 맞는 파일을 받으시면 될 것 같은데, Eclipse SVN 사용하시는 분들이 대다수 윈도우 환경 개발자이겠지요?^^)


SQLite Download Page : http://www.sqlite.org/download.html





또는 아래 파일을 그냥 내려 받으시면 됩니다. (제가 미리 받아놓은 파일입니다. ㅎㅎㅎ)




내려 받은 후, 압축을 푸시면 sqlite3.exe 파일이 하나 있습니다. 

이 파일을 문제가 발생한 프로젝트의 .svn 폴더에 복사합니다. (프로젝트의 하위 폴더에 있습니다.)


그리고 윈도우 커맨드창(Command Window)을 실행하여 해당 경로로 이동한 후, 아래 명령어 2개를 순차적으로 실행합니다.


sqlite3 .svn/wc.db "select * from work_queue"


sqlite3 .svn/wc.db "delete from work_queue"



왜 갑자기 svn 오류를 해결하는데, sqlite 프로그램이 나왔냐고 의아해 하실 수도 있을 것 같은데요.

아마도 svn에서 sqllite를 사용하는 것으로 보입니다. 그리고 그 작업 처리(명령)를 work_queue라는 테이블에 저장하고 있는 것이구요. 이 work_queue 테이블의 정보가 SVN이 갑자기 작업 중에 중단되면서 문제가 발생한 것으로 보이는데요.

그래서 데이터베이스 테이블에 저장된 이 작업들을 모두 초기화하여 문제를 해결하는 것으로 보입니다.


위의 2개의 명령어까지 문제 없이 잘 실행되었다면 다시 Eclipse를 실행하여 해당 프로젝트의 파일들을 Update받아보시길 바랍니다.

만약 동일한 오류나 유사한 오류가 다시 나타난다면 SVN의 Cleanup 명령어를 다시 한 번 실행한 후, Update 받아보세요!




참고 

http://kure0769.tistory.com/entry/SVN-cleanup-fail-%EC%B2%98%EB%A6%AC

반응형