SVN 커밋 중 read-write 액세스가 거부되었습니다, Subversion reported an error : cleanup 해결방법

가이드문구

SVN 소스 커밋 시 오류 메시지에 Cleanup을 하라는 오류 메시지가 떳다.


Cleanup을 진행하면 아래와 같이 액세스가 거부되었다는 실패 메시지가 발생되면서 클린업이 되지 않았는데,

이 오류의 해결방법을 찾아보았다.

SVN Cleanup Error


SVN Cleanup Error 해결 방법

프로젝트 폴더 안에 .svn 폴더가 숨겨져 있는데, 이 폴더를 찾아 들어간다.

폴더를 찾아 들어가면 wc.db로 되어있는 파일이 있는데, SVN에서 사용하는 SQLite 데이터베이스 파일이다.

데이터베이스 파일 안에 SVN에 저장되는 히스토리 내역이 데이터화 되어 있다.

데이터베이스 중 work_queue 라는 테이블에서 작업 시 오류가 발생되어 SVN에 commit이 되지 않았던 것이다.

wc.db 파일을 오픈하려면 Sqlite 프로그램을 설치해서 테이블정보를 열어야 하는데, 아래 링크에서 다운로드 할 수 있다.

SQLite 파일 다운로드



SQLite-preprocessed-3390200 파일을 다운로드 해서 wc.db 파일을 실행해보려고 한다.

다운로드가 완료 되었다면, 압축을 해제한다.


wc.db 파일 폴더 안에서 sqlite3.exe 파일을 실행하기 위해 sqlite3.exe 파일 경로를 기억해두자.



정상적으로 실행이 되었다면, sqlite> 입력창이 실행된다.


1. .tables 명령어로 테이블을 확인하고

2. .header on, .mode column을 차례대로 실행해본다.

3. select * from REPOSITORY; 명령어로 select 진행

4. delete from work_queue; 명령어를 실행해서 work_queue 히스토리를 지운다.

5. work_queue 오류가 발생된 데이터를 삭제 후 SVN 에서 cleanup을 진행한다.



Cleanup이 정상적으로 진행된 것을 확인할 수 있다.

Cleanup이 되었으니, 소스 파일을 SVN 으로 commit 하면 정상적으로 실행이 될 것이다.

작성자 소개
초이 프로필
WrapUp 블로거

초이

반려견을 좋아하고, 차를 좋아하고, 여행을 좋아하고, 맛집을 찾아 즐기는 웹 개발자 입니다^^