代码之家  ›  专栏  ›  技术社区  ›  Richard H

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

  •  4
  • Richard H  · 技术社区  · 14 年前

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

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

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

    任何链接到这个资源非常感谢。

    谢谢

    2 回复  |  直到 6 年前
        1
  •  6
  •   Nayuki James111    8 年前

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

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

    重要的是FSFS使用 前三角洲 而不是使用BDB后端的向后增量。 因此,FSFS在提交时更快,但在签出时更慢,berkeleydb的性能特性则相反。

    SVN design note about FSFS