如何确定 SVN 工作副本布局版本?

发布于 2024-08-03 11:48:18 字数 117 浏览 8 评论 0原文

例如,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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

笑,眼淚并存 2024-08-10 11:48:18

如果 .svn/format 存在,则读取其中的数字:

  • Version 7 is SVN 1.3
  • Version 8 is SVN 1.4
  • Version 9 is 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 SQLite 数据库的“user_version”字段中。因此,即使 .svn/format 升级到版本 12,实际格式版本是 29,并且未来版本可能不再更新 .svn/format。要从 .svn/wc.db 获取版本号,有两种方法:

  1. 如果您的路径中有 sqlite3,则 sqlite3 .svn/wc.db " PRAGMA user_version"
  2. 如果您的路径中没有 sqlite3,请在十六进制编辑器中打开 .svn/wc.db 并读取偏移量 0x3c 处的 DWORD

全部格式版本号在 wc.h 以及各个 Subversion 版本的版本号。

If .svn/format exists, then read the number in it:

  • Version 7 is SVN 1.3
  • Version 8 is SVN 1.4
  • Version 9 is SVN 1.5

If .svn/format doesn't exist then the version number is on the first line in .svn/entries:

  • Version 10 is SVN 1.6
  • Version 12 is SVN 1.7

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:

  1. if you have sqlite3 in your path, sqlite3 .svn/wc.db "PRAGMA user_version"
  2. if you DO NOT have sqlite3 in your path, open .svn/wc.db in a hex editor and read the DWORD at offset 0x3c

All the format version numbers are described in wc.h along with the version numbers of respective Subversion releases.

一个人的旅程 2024-08-10 11:48:18

来自 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 (or od -An -j63 -N1 -t dC .svn/wc.db if you only have the SQLite 3.0 libraries, YMMV).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文