有没有办法知道磁盘上的 svn repo 的格式,而不知道它是如何创建的?可能从format
或db/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 1000
fsfs 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 搜索过了,我保证 :)