我如何确定SVN工作副本版式?

例如,SVN 1.5客户端有一个工作副本布局,而SVN 1.6客户端有不同的布局。 我知道布局自动升级,当它被一个新的客户端触摸。

如果我在我的系统上有一个工作副本,我怎么才能find它使用的布局版本?

如果.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文件,较新的版本使用较less的基于行的文件格式。

自Subversion 1.7以来,版本号存储在“user_version”字段的.svn/wc.db SQLite数据库中。 所以即使.svn/format被碰撞到版本12,实际的格式版本是29,未来版本可能不会再更新.svn/format

wc.h中描述了所有格式的版本号以及相应Subversion版本的版本号。

从堆栈溢出问题findSVN的工作副本版本(1.7或1.8)

可以在SVN 1.7或更高版本上使用sqlite3 .svn/wc.db "PRAGMA user_version" (或者如果您只有SQLite 3.0库YMMV,则使用od -An -j63 -N1 -t dC .svn/wc.db )。

Interesting Posts