例如,SVN 1.5客户端有一个工作副本布局,SVN 1.6客户端有不同的布局.我知道当新客户端触及布局时,布局会自动升级.
如果我的系统上有工作副本,我怎样才能找到它正在使用的版面?
Fil*_*ara 123
如果.svn/format
存在,则读取其中的数字:
如果.svn/format
不存在则版本号位于第一行.svn/entries
:
Subversion 1.6是第一个不使用的.svn/format
.版本7及更早.svn/entries
版本使用基于XML的文件,较新版本使用较少详细的基于行的文件格式.
从Subversion 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
在十六进制编辑器中打开并读取偏移量为0x3c的DWORDwc.h中描述了所有格式版本号以及各个Subversion版本的版本号.
小智 11
从Stack Overflow问题找出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).