如何确定SVN工作副本布局版本?(How do I determine the SVN workin

2019-07-04 07:43发布

例如,SVN 1.5客户机具有的工作拷贝一个布局和SVN 1.6客户端具有不同的布局。 我的理解是,当它获得由新客户感动的布局被自动升级。

如果我有我的系统上的工作副本,我怎么能找到它使用的布局版本?

Answer 1:

如果.svn/format存在,那么阅读它的数量:

  • 第7版是SVN 1.3
  • 第8版是SVN 1.4
  • 版本9是SVN 1.5

如果.svn/format不存在,版本号是在第一线.svn/entries

  • 第10版是SVN 1.6
  • 12版是SVN 1.7

颠覆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版本的版本号一起。



Answer 2:

从堆栈溢出的问题找出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库,情况因人而异)。



文章来源: How do I determine the SVN working copy layout version?