subversion - 如何辨别现有存储库的格式

subversion - 如何辨别现有存储库的格式

有没有办法知道磁盘上的 svn repo 的格式,而不知道它是如何创建的?可能从formatdb/format文件中知道吗?

这个问题有关于这些文件的不同内容有很多有用的信息,但没有答案知道 repo 使用的是哪种后端格式。

我所在的(gentoo)机器正在运行 subversion 1.5.6:

me@foo ~ $ svn --version
svn, version 1.5.6 (r36142)
   compiled Jan 13 2010, 15:02:26

我创建了几个测试仓库来使用:

me@foo ~ $ svnadmin create --fs-type bdb bdb-repo
me@foo ~ $ svnadmin create --fs-type fsfs fsfs-repo

format文件db/format看起来几乎完全相同:

me@foo ~ $ more bdb-repo/format bdb-repo/db/format
::::::::::::::
bdb-repo/format
::::::::::::::
5
::::::::::::::
bdb-repo/db/format
::::::::::::::
3
me@foo ~ $ more fsfs-repo/format fsfs-repo/db/format
::::::::::::::
fsfs-repo/format
::::::::::::::
5
::::::::::::::
fsfs-repo/db/format
::::::::::::::
3
layout sharded 1000

唯一的区别是layout sharded 1000fsfs repodb/format文件中的行。这是使用 fsfs 格式的明确指标吗?如果不是,还有其他方法可以判断吗?

答案1

找到答案了。它在db/fs-type文件中。

me@foo ~ $ cat bdb-repo/db/fs-type 
bdb
me@foo ~ $ cat fsfs-repo/db/fs-type 
fsfs

参考这里

我在提问之前已经用 Google 搜索过了,我保证 :)

相关内容