Subclipse(SVN) Coflict(충돌) 문제 해결
SNV을 사용하다보면 충돌이 발생했다는 에러메시지를 가끔 보는 경우가 있음.
파일을 수정,삭제 등 진행했을때 원격저장소에 있는 내용과 현재 로컬의 파일의 내용이 틀려 꼬이거나
원격저장소의 HEAD 정보가 달라 문제가 발생하는 경우가있는데 지금까지 해본 간단히 해결하는방법
두가지가 있다.
1. 프로젝트 우클릭 > Team > Update to HEAD
이 방법의 경우 로컬파일의 정보와 SVN의 HEAD 정보를 일치 시키는 과정이며 보통 에러 문구의 HEAD 라는 내용이 들어있으며 , commit의 에러는 왠만하면 위 방법으로 해결됨
2.SQLite 사용
Downloads - DB Browser for SQLite
(Please consider sponsoring us on Patreon 😄) Windows Our latest release (3.12.2) for Windows: Windows PortableApp Note - If for any reason the standard Windows release does not work (e.g. gives an error), try a nightly build (below). Nightly builds ofte
sqlitebrowser.org
위 사이트에서 다운받을 수 있으며 no installer 버전으로 받고 압축 푼 뒤 DB Browser for SQLite.exe 실행
좌측 상단에 데이터베이스 열기 클릭 후 워크스페이스 > 프로젝트 > .svn 경로를 보면 wc.db 파일이 존재하는데 열어준다 .
그 후 데이터 보기 > WC_LOCK 또는 WORK_QUEUED 에 데이터가 있다면 아래 SQL을 실행한 후 변경사항 저장하기
하면 해결됨
DELETE FROM WC_LOCK;
DELETE FROM WORK_QUEUE;
하지만 나의경우는 LOCK의 문제는 아니였고 QUEUE의 문제도 아니였다.
새로 생성한 패키지를 내 프로젝트에서 commit을 하려하면
is an existing item in conflict; please mark the conflict as resolved before adding a new item here
이런 문구가 포함된 에러가 자꾸 발생함..
찾아보니 ACTUAL_NODE 테이블에 같은 패키지 데이터가 존재하는데, SVN Repository 에는 보이지 않았음..
그래서 자꾸 충돌이 난다고 안된거 같다 ..
그래서 ACTUAL_NODE 에 있는 같은 경로의 패키지를 삭제 해주고 변경사항 저장하고 Commit 하니 잘 동작했다
DELETE "main"."ACTUAL_NODE" WHERE local_relpath = '파일or패키지경로';
대충 요런 sql 을 실행하고 한번 해보시길..