2010-09-12 101 views
4

我想了解subversion如何在FSFS中存储修订版本,以及如何为给定修订版本号构建视图/ shapshot。Subversion FSFS - 修订版如何存储在存储库中?

我从谷歌搜索中收集的是,FSFS是一个简单的目录结构,子目录像每个修订:

..svn/rev/0/ 
..svn/rev/1/ 
..svn/rev/2/ 

大概只有改变(增量),每个版本目录下的记录。那么这是否意味着在构建修订版本N的视图/快照时,从0到N的所有增量都必须循环?

任何链接到这个资源非常赞赏。

由于

回答

5

颠覆存储在一个单独的(平坦的)修订版本文件每个修订的所有增量。存储库中的每个文件/文件夹(称为“节点”)都有一个内部ID。

一个修订文件包含所有的压缩增量的这个特定承诺,但三角洲是不是与前一个版本,但使用一个名为方案“跳过增量”避免线性生长的版本历史增长的搜索时间。

重要的是,FSFS使用转发增量而不是使用BDB后端的向后delta。 因此,FSFS在提交时速度更快,但在结账时速度更慢,Berkeley DB的性能特点是相反的。

您可以在SVN design note about FSFS内阅读更多内容。

相关问题