我们使用最新版本的SVN在Windows上签出了SVN源代码树。我们通过Linux上的共享文件夹挂载这棵树,在那里我们进行构建。不幸的是,Linux上的SVN版本比Windows上的版本要老,因此标准的SVN命令普遍失败。
这还不算太糟,但我们确实希望能够检索签出的SVN修订号,类似于svnversion命令返回的内容。也就是说,我们需要整个树中最新的修订号。
这些信息可以直接从.svn中的各种文件中挖掘出来吗?我们使用的是SVNr1.6.11,这种情况不太可能改变,所以我们不一定对跨版本的解决方案感兴趣,而只是对这个版本的特定解决方案感兴趣。
抱歉,这不太对。SVN1.6.11是我们在Linux上使用的版本。我们想要查看的在Windows上用于结帐的版本是1.9.2。
发布于 2018-04-10 11:37:38
在SVN开发的某个地方,工作复制格式从基于文件的格式更改为基于数据库的格式。在您的工作副本中,您将在. .svn/wc.db中找到一个普通的SQLlite数据库。
SQL命令
SELECT min(revision), max(revision) FROM NODES
检索所有文件的最小修订和最大修订。您可以通过perl、python或ruby找到大量连接sqllite的方法。
不用说,这是不受支持的,但您需要一个快速而肮脏的解决方案:)
https://stackoverflow.com/questions/49751126
复制相似问题