如何确定 SVN 工作副本布局版本?
例如,SVN 1.5 客户端具有一种工作副本布局,而 SVN 1.6 客户端具有不同的布局。据我所知,当新客户端接触布局时,布局会自动升级。
如果我的系统上有工作副本,我如何才能找到它正在使用的布局版本?
For example, the SVN 1.5 client has one layout for working copies, and the SVN 1.6 client has a different layout. I understand that the layout automatically gets upgraded when it gets touched by a newer client.
If I have a working copy on my system, how can I find out the version of the layout it's using?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果
.svn/format
存在,则读取其中的数字:如果
.svn/format
不存在如果不存在,则版本号位于.svn/entries
中的第一行:Subversion 1.6 是第一个不使用
.svn/format 的版本
。版本 7 及更早版本使用基于 XML 的.svn/entries
文件,较新的版本使用不太详细的基于行的文件格式。从 Subversion 1.7 开始,版本号存储在
.svn/wc.db
SQLite 数据库的“user_version”字段中。因此,即使.svn/format
升级到版本 12,实际格式版本是 29,并且未来版本可能不再更新.svn/format
。要从.svn/wc.db
获取版本号,有两种方法:sqlite3
,则sqlite3 .svn/wc.db " PRAGMA user_version"
sqlite3
,请在十六进制编辑器中打开.svn/wc.db
并读取偏移量 0x3c 处的 DWORD全部格式版本号在 wc.h 以及各个 Subversion 版本的版本号。
If
.svn/format
exists, then read the number in it:If
.svn/format
doesn't exist then the version number is on the first line in.svn/entries
:Subversion 1.6 was the first one not to use
.svn/format
. Version 7 and older used XML-based.svn/entries
file, newer versions use less verbose line-based file format.Since Subversion 1.7 the version number is stored in the
.svn/wc.db
SQLite database in the "user_version" field. So even though.svn/format
is bumped to version 12 the actual format version is 29 and future versions may not update.svn/format
anymore. To obtain the version number from.svn/wc.db
there are two methods:sqlite3
in your path,sqlite3 .svn/wc.db "PRAGMA user_version"
sqlite3
in your path, open.svn/wc.db
in a hex editor and read the DWORD at offset 0x3cAll the format version numbers are described in wc.h along with the version numbers of respective Subversion releases.
来自 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)。From Stack Overflow question Find out SVN working copy version (1.7 or 1.8):
One can use
sqlite3 .svn/wc.db "PRAGMA user_version"
on SVN 1.7 or later (orod -An -j63 -N1 -t dC .svn/wc.db
if you only have the SQLite 3.0 libraries, YMMV).