SQLite&版本控制系统

时间:2011-07-10 18:38:33

标签: sqlite versioning

前言:尝试编写替代Subversion或任何其他版本控制系统的替代方案。

我想知道SQLite是否具备用单文件数据库文件替换版本系统的常用存储库所需的内容,其中不同的版本存储为BLOB?

2 个答案:

答案 0 :(得分:7)

Fossil是在SQLite中实现的版本控制系统。它uses一个数据库,将版本存储为BLOB。

答案 1 :(得分:1)

并非所有版本控制系统都使用文件系统。

事实上,一个这样的分布式版本控制系统Monotone已经使用SQLite进行存储。常见问题Why an embedded SQL database, instead of Berkeley DB?为这一选择提供了一些理由。常见问题解答并未涉及“为什么不是文件系统存储”。

甚至SVN,至少在历史上,支持alternate BDB repository data-store。虽然这不是SQLite,但很容易想象SQLite可以作为支持SQL作为接口的“超级”BDB。 (实际上,BDB can even be used as an SQLite back-end,收费: - )

请记住,无论在哪里存储数据(差异/增量),它都会以某种形式的“BLOB” - BDB值,文件中的数据或BLOB结尾[n SQLite]数据库中的列。

快乐编码