잡다한 팁

SVN 충돌 ( E155004: locked )

choco2706 2024. 10. 16. 10:35

오류 내용

E155004 : locked 오류는 svn 저장소에서 파일이나 디렉터리가 다른 작업에서 잠겨있다는 뜻이며, 이 오류는 주로 두가지 상황에서 발생한다.

 

발생 이유

    1. 다른 작업에서 잠긴 파일 또는 디렉터리에 대한 작업을 시도할 때
      • 다른 사용자가 해당 파일 또는 디렉터리를 수정 / 커 하고 있을 수 있음
      • 자신이 다른 작업에서 해당 파일 또는 디렉터리를 수정 중일 수 있음
    2. 이전에 실패한 작업으로 인해 잠긴 파일 또는 디렉터리
      • 이전에 실패한 작업(커밋, 업데이트 등)으로 인해 일부 파일이나 디렉터리가 잠긴 상태로 남아 있을 수 있음.

 

본인의 경우 커밋 작업 중 실수로 취소가 되서 lock이 걸렸으며 이에 대한 해결방법을 설명할 예정

 

※ 하기 전에 우선적으로 프로젝트 우클릭 후 team -> Cleanup을 시도하는것을 추천.

이게 성공했다면 아래 설명글이 필요없을 수 있음 다시 Commit / Update 시도

 

  1. 프로젝트 폴더 -> .svn -> wc.db 파일이 있는지 우선 확인

  2. SQLite 다운로드 : 위 wc.db파일을 열기 위해선 본인 PC에 맞는 DB Browser를 받아주어야 한다.
    https://sqlitebrowser.org/
 

DB Browser for SQLite

DB Browser for SQLite DB Browser for SQLite (DB4S) is a high quality, visual, open source tool designed for people who want to create, search, and edit SQLite or SQLCipher database files. DB4S gives a familiar spreadsheet-like interface on the database in

sqlitebrowser.org

Version 3.13.0 released를 선택 후 각자 PC에 맞는 버전을 선택
실행 화면

 

   3. 상단 두번째 탭(데이터베이스 열기)를 통해 wc.db를 열어준다.

이런 화면이 보일텐데 테이블 중 WC_LOCK과 WORK_QUEUE 테이블만 보면 된다. 

바로 옆 탭인 데이터 탐색에서 각 테이블을 확인해보면 데이터가 들어가있는걸 볼 수 있는데 이걸 삭제해주면 해결이 된다.

 

아마 lock이 걸릴 시 저 테이블에 로그 및 정보가 자동 입력되는 시스템인듯 싶다.

 

   4. SQL 실행 탭에서 아래 쿼리를 실행해준다.

DELETE FROM WORK_QUEUE;
DELETE FROM WC_LOCK;

 

   5. 프로젝트 우클릭 후 team -> Cleanup을 시도 한 후 성공이 되면 Commit / Update를 시도해보자

Cleanup