Program Tip

SVN 작업 카피 레이아웃 버전을 어떻게 결정합니까?

programtip 2020. 11. 4. 08:18
반응형

SVN 작업 카피 레이아웃 버전을 어떻게 결정합니까?


예를 들어, 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입니다.

Subversion 1.6은 .svn/format. 버전 7 및 이전 버전은 XML 기반 .svn/entries파일을 사용했으며 최신 버전은 덜 자세한 줄 기반 파일 형식을 사용합니다.

Subversion 1.7 이후 버전 번호는 .svn/wc.db"user_version"필드 SQLite 데이터베이스에 저장됩니다 . 따라서 .svn/format버전 12로 충돌 하더라도 실제 형식 버전은 29이며 향후 버전은 .svn/format더 이상 업데이트되지 않을 수 있습니다 . 버전 번호를 얻으려면 .svn/wc.db두 가지 방법이 있습니다.

  1. sqlite3당신의 길에 있다면sqlite3 .svn/wc.db "PRAGMA user_version"
  2. 당신이없는 경우 sqlite3, 경로에 열려있는 .svn/wc.db16 진수 편집기에서 오프셋 0x3c에서 DWORD를 읽어

모든 형식 버전 번호는 각 Subversion 릴리스의 버전 번호와 함께 wc.h 에 설명되어 있습니다.


스택 오버플로 질문 에서 SVN 작업 복사본 버전 (1.7 또는 1.8) 찾기 :

sqlite3 .svn/wc.db "PRAGMA user_version"SVN 1.7 이상 (또는 SQLite 3.0 라이브러리, YMMV od -An -j63 -N1 -t dC .svn/wc.db만있는 경우) 에서 사용할 수 있습니다 .

참고 URL : https://stackoverflow.com/questions/1364618/how-do-i-determine-the-svn-working-copy-layout-version

반응형