如何在没有 SVN 访问权限的情况下检索最新的 SVN 修订版

How to Retrieve Lates SVN Revision Without SVN Access

我们在 Windows 上使用相当新版本的 SVN 检查了 SVN 源代码树。我们通过 Linux VM 上的共享文件夹安装这棵树,我们在其中进行构建。不幸的是,Linux 上的 SVN 版本比 Windows 上的版本旧,因此标准 SVN 命令普遍失败。

这还不错,但我们真的希望能够检索结帐的 SVN 修订号,类似于 svnversion 命令 returns。也就是说,我们想要整个树中的最新修订号。

是否可以直接从.svn中的各种文件中挖掘出这些信息?我们使用的是 SVN r1.6.11,这不太可能改变,因此我们不一定对跨版本的解决方案感兴趣 - 只是针对此版本的解决方案。


抱歉,不太正确。 SVN 1.6.11 是我们在 Linux 上使用的版本。 Windows 上用于我们要细读的结帐的版本是 1.9.2。

在 SVN 开发的某个地方,工作副本格式从 file-based 更改为 database-based。在您的工作副本中,您会在 .svn/wc.db.

中找到一个普通的 SQLlite 数据库

SQL命令

SELECT min(revision), max(revision) FROM NODES

检索所有文件的最小修订版和最大修订版。您可以找到大量通过 perl、python 或 ruby.

连接到 sqllite 的方法

不用说,这绝对不受支持,但您需要一个快速而肮脏的解决方案:)