Studies/Others

Subversion 작업 사본 오류 수정

LILIS 2021. 11. 17. 16:34

회사에서 이팀 저팀 협업을 기본으로 업무를 진행하다보니, SW 개발 소스 등은 Subversion을 이용해 버전 관리 및 작업 공유 수단으로 사용하고 있는데, 가끔 아무 이유 없이 오류가 발생하곤 해서 해결책을 기록해본다.

svn: E195009: The repository at 'svn://[IP]' has uuid '07980456-4b3d-4695-bf7b-21c7115235c8', but the WC has '3f5adbe2-f78d-466d-b79d-bb2359ec84fc'

원격저장소의 고유 ID 값과 개별 작업컴퓨터에서 저장한 저장소의 고유 ID값이 일치하지 않아 발생하는 오류인데, 멀쩡히 작업 잘 해놓고도 반영을 못하는 사태가 종종 일어나서 해결책 찾아 삼만리.

해결책을 찾아보니 .svn 폴더 안에 wc.db라는 파일이 있는데, 이게 저장소의 로컬 데이터베이스로 사용된다. SQLite3으로 생성되어 있기에 SQLite3을 설치 후 아래와 같이 실행해본다.

sqlite3 wc.db

이렇게 하면 sqlite3이 실행되며 wc.db 파일을 읽어오고 SQL을 입력받을 수 있는 상태가 된다.

SELECT * FROM REPOSITORY';

이렇게 하면 결과가 아래와 같이 표시된다.

1|svn://[IP]|3f5adbe2-f78d-466d-b79d-bb2359ec84fc

맨 앞의 1id 번호, 파이프(|)는 구분자, svn://[IP]는 원격저장소 IP이니 무시하고, 3f5adbe2-f78d-466d-b79d-bb2359ec84fc가 고유 ID이니 이것만 확인하면 된다. 보다시피 원격저장소와 작업 사본의 UUID가 일치하지 않는다. 작업 사본의 ID 값을 원격저장소의 값으로 갱신해주자.

UPDATE REPOSITORY SET uuid="07980456-4b3d-4695-bf7b-21c7115235c8" WHERE id=1;

이제 SVN에서 update를 실행하면 문제없이 진행된다.

'Studies > Others' 카테고리의 다른 글

[Excel] Unix Timestamp를 Excel 날짜시간으로 변환하기  (0) 2020.12.17