[SubVersion] Format 12 wc.db 저장소 위치 확인 Develop Tip

버전 컨트롤을 처음 사용한 것은 RCS 부터였던 것 같습니다.
그러다가 SubVersion 이 한동안 세상의 VCS계를 잡고 있었던 것 같습니다.
최근에는 git와 더불어 아직도 Subversion을 많이 사용하고 있는 추세입니다.

약 2년정도 git를 사용하다, 최근 다시 subversion을 사용할 기회가 생겼습니다.
그런데 예전 버전과 달라진 것이 있어 정리를 해 봅니다.

Subversion은 checkout을 하고 나면 모든 하위폴더에 .svn 이라는 폴더가 생겨
이 디렉터리를 기준으로 서버와의 변경된 것을 체크하게 됩니다.

이 .svn 폴더에 들어가서 파일들이 여럿 있었는데, 그 항목을 저장하고 있던 파일이 바로
entries 라는 파일이었습니다. 저장소 위치와 저장소에 들어가 있는 현재 위치의 파일 및
폴더 정보가 들어 있었습니다.

그런데 오늘 오랫만에 해당 entries 라는 파일을 보았더니,
크기는 3바이트 이고, 그 내용은 
"12"
라고만 되어 있는 것이었습니다.

또한 전에 못 보던 wc.db 파일이 하나 크게 있는 것이었습니다.

$ file wc.db 
wc.db: SQLite 3.x database, user version 29

파일 내용을 보니 SQLite DB 파일임을 알 수 있었습니다.

sqlite3 로 해당 wc.db 파일을 열어보았습니다.

$ sqlite3 .svn/wc.db 
SQLite version 3.7.13 2012-06-11 02:05:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"

위와 같이 파일을 띄웠습니다.

MySQL의 show tables와 같은 명령이 SQLite에서는 .tables 명령이었습니다.

sqlite> .tables
ACTUAL_NODE    NODES          PRISTINE       WC_LOCK      
EXTERNALS      NODES_BASE     REPOSITORY     WORK_QUEUE   
LOCK           NODES_CURRENT  WCROOT

Select 결과에 헤더를 보이고 컬럼 별로 보이게 하기 위하여 다음과 같은 명령을 넣습니다.

sqlite> .header on
sqlite> .mode column

이제 저장소 위치 정보를 얻기 위하여 select를 해 봅니다.

sqlite> select * from REPOSITORY;
id          root                                                  uuid                                
----------  ----------------------------------------------------  ------------------------------------
1           svn+ssh://mcchae@svnserver/work/subversion/myproj  57521234-5678-4725-9abc-9876a4fd4321

이런 식으로 나옵니다.


어느 분께는 도움이 되셨기를...


핑백

덧글

댓글 입력 영역

구글애드텍스트