SVN 작업 카피 레이아웃 버전을 어떻게 결정합니까?
-
21-09-2019 - |
문제
예를 들어, SVN 1.5 클라이언트에는 작업 사본에 대한 하나의 레이아웃이 있으며 SVN 1.6 클라이언트에는 레이아웃이 다릅니다. 레이아웃이 최신 클라이언트가 만질 때 자동으로 업그레이드된다는 것을 이해합니다.
내 시스템에 작업 사본이있는 경우 사용중인 레이아웃 버전을 어떻게 알 수 있습니까?
해결책
만약에 .svn/format
존재하고 그 숫자를 읽습니다.
- 버전 7은 SVN 1.3입니다
- 버전 8은 SVN 1.4입니다
- 버전 9는 SVN 1.5입니다
만약에 .svn/format
존재하지 않으면 버전 번호가 첫 번째 줄에 있습니다. .svn/entries
:
- 버전 10은 SVN 1.6입니다
- 버전 12는 SVN 1.7입니다
전복 1.6은 사용하지 않은 첫 번째 사람이었습니다 .svn/format
. 버전 7 및 오래된 XML 기반 .svn/entries
파일, 최신 버전은 덜 장황한 줄 기반 파일 형식을 사용합니다.
전복 1.7이므로 버전 번호는 .svn/wc.db
"user_version"필드의 SQLITE 데이터베이스. 그래도 .svn/format
버전 12로 충돌됩니다. 실제 형식 버전은 29이고 향후 버전은 업데이트되지 않을 수 있습니다. .svn/format
더 이상. 버전 번호를 얻으려면 .svn/wc.db
두 가지 방법이 있습니다.
- 당신이 가지고 있다면
sqlite3
당신의 길에서sqlite3 .svn/wc.db "PRAGMA user_version"
- 당신이 없다면
sqlite3
당신의 길에서 열려 있습니다.svn/wc.db
Hex 편집기에서 오프셋 0x3c에서 DWORD를 읽으십시오.
모든 형식 버전 번호는 다음에 설명되어 있습니다 WC.H 각각의 전복 릴리스의 버전 번호와 함께.
다른 팁
스택 오버 플로우 질문에서 SVN 작업 복사 버전 찾기 (1.7 또는 1.8):
하나는 사용할 수 있습니다 sqlite3 .svn/wc.db "PRAGMA user_version"
SVN에서 1.7 이상 (또는 od -An -j63 -N1 -t dC .svn/wc.db
당신이있는 경우 SQLITE 3.0 라이브러리, YMMV).