[SVN] svn: E200030: There are unfinished transactions detected in '경로' 에러
SVN commit을 하던 중에 "앗! 이 파일 말고 다른 파일을 올려야 하는데!" 하고 "cancel" 버튼을 누른 것이 화근이다....
이 바보야! 에러를 사서 만드는구나...
정확한 원인을 알 수 없는 오류로 SVN은 lock이 걸려서 update, commit등 아무것도 할 수 없게 된다.
해결 방법
1. 프로젝트 [Properties] - [team] - [clean up] 실행 후 SVN 업데이트 및 커밋 실행해본다.
- clean up에도 lock이 걸려있어 실행되지 않는다면 다음 방법을 진행한다.
2. [workspace] - [해당 프로젝트 폴더] - [.svn] 폴더 내의 locked 파일이 존재하면 삭제 후 다시 업데이트를 실행한다.
- locked 파일도 없다면, 번거롭지만 마지막 방법을 ..
3. sqlite 클라이언트 다운로드
- 다운로드 받은 파일 압축을 풀면 아래와 같이 sqlitestudio2-win.exe 파일이 있다. (파일명은 버전에 따라 상이한 것 같으나 exe파일은 한 개 뿐이니 찾는 어려움은 없을 것이다.)
방법 3-1.
- exe 파일을 [workspace] - [해당 프로젝트] - [.svn] 폴더 내에 복사하고, 그 폴더에서 윈도우 커맨드 창을 실행한 후 다음 명령어를 순차적으로 실행한다. ( .svn 폴더내에서 [Shitf] + [마우스 우 키] - [여기서 명령창 실행] )
sqlite3 .svn/wc.db "select * from WORK_QUEUE"
sqlite3 .svn/wc.db "delete from WORK_QUEUE"
방법 3-2.
- 만약 위의 명령어가 실행되지 않는다면, 직접 sqLite를 실행하여 [File] - [Open Database]를 누른 후 프로젝트 .svn 폴더 내의 wc.db 파일을 open한다.
- Execute SQL 탭에서 다음 두 명령어를 실행한다.
delete from WORK_QUEUE
delete from WC_LOCK
방법 3-3.
- 위 방법조차 모르겠다 한다면 Database Browser 탭에서 아래와 같이 테이블 삭제 아이콘이 있다.
- 클릭한 후 WORK_QUEUE 테이블과 WC_LOCK 테이블을 하나씩 삭제해준다.
그리고 다시 프로젝트를 실행하면 svn이 끊겨있는 것을 확인할 수 있다. 다시 연결해주면 해결 완료..
SVN을 커밋하는 도중 취소하지말자.....
댓글