Svn Subversion FSFS-如何在存储库中存储修订?

Svn Subversion FSFS-如何在存储库中存储修订?,svn,repository,berkeley-db,fsfs,Svn,Repository,Berkeley Db,Fsfs,我想了解subversion如何在FSFS中存储修订,以及如何为给定的修订号构造视图/形状快照 我从谷歌搜索得到的信息是,FSFS是一个简单的目录结构,每个版本都有子目录,如: ..svn/rev/0/ ..svn/rev/1/ ..svn/rev/2/ 大概只有更改(增量)记录在每个修订目录下。那么,这是否意味着在为修订版N构建视图/快照时,必须循环0到N之间的所有增量 非常感谢您对本网站资源的任何链接 谢谢Subversion将每个修订的所有增量存储在一个(平面)修订文件中。存储库中的每个

我想了解subversion如何在FSFS中存储修订,以及如何为给定的修订号构造视图/形状快照

我从谷歌搜索得到的信息是,FSFS是一个简单的目录结构,每个版本都有子目录,如:

..svn/rev/0/
..svn/rev/1/
..svn/rev/2/
大概只有更改(增量)记录在每个修订目录下。那么,这是否意味着在为修订版N构建视图/快照时,必须循环0到N之间的所有增量

非常感谢您对本网站资源的任何链接


谢谢

Subversion将每个修订的所有增量存储在一个(平面)修订文件中。存储库中的每个文件/文件夹(称为“节点”)都有一个内部ID

单个修订文件包含此特定提交的所有压缩增量,但是这些增量并不针对上一个修订,而是使用一个名为的方案“跳过的增量”以避免线性增长的搜索时间来增加版本历史

重要的是,FSFS使用前向增量而不是使用BDB后端的后向增量。 因此,FSFS在提交时速度更快,但在签出时速度较慢,Berkeley DB的性能特点正好相反


您可以阅读更多内容。

这里是指向FSFS结构参考(包括文件格式说明)的链接: