我想了解subversion如何在FSFS中存储修订,以及如何为给定的修订号构造视图/shapshot。
我从Googling中得到的信息是,FSFS是一个简单的目录结构,每个修订版都有如下的子目录:
..svn/rev/0/
..svn/rev/1/
..svn/rev/2/大概只有更改(增量)记录在每个修订目录下。因此,这是否意味着在构建修订N的视图/快照时,必须遍历从0到N的所有增量?
任何链接到这上面的资源都非常感谢。
谢谢
发布于 2010-09-13 06:24:21
Subversion将每个修订的所有增量存储在一个单独的(平面)修订文件中。存储库中的每个文件/文件夹(称为“节点”)都有一个内部ID。
单个修订文件包含此特定提交的所有压缩增量,但是增量不是针对前一个修订,而是使用称为“跳过增量”的方案,以避免不断增长的版本历史的线性增长的搜索时间。
重要的是,FSFS使用前向增量后端,而不是使用BDB-的后向增量。因此,FSFS在提交时更快,但在结帐时更慢,Berkeley DB的性能特征与之相反。
您可以在SVN design note about FSFS中阅读更多内容。
发布于 2012-01-17 00:34:53
以下是指向FSFS结构参考(包括文件格式描述)的链接:https://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_fs/structure
https://stackoverflow.com/questions/3696621
复制相似问题