【发布时间】:2008-09-06 08:52:34
【问题描述】:
我喜欢如何将 SQLite 库包含到应用程序中,并且该应用程序有一个成熟的数据库可供使用。
同样,是否有一个开源版本控制库可以包含在我的应用程序中,以便我可以保存文件版本以及进行差异和合并?
【问题讨论】:
标签: version-control open-source
我喜欢如何将 SQLite 库包含到应用程序中,并且该应用程序有一个成熟的数据库可供使用。
同样,是否有一个开源版本控制库可以包含在我的应用程序中,以便我可以保存文件版本以及进行差异和合并?
【问题讨论】:
标签: version-control open-source
SVN 不需要最终用户计算机上的任何先决条件。您可以将 SVN 直接嵌入到您的应用程序中。要了解有关 subversion 集成的更多信息,请访问 SVN 论坛上的“Application Integration/Embedding”主题。
【讨论】:
我不完全确定您所说的“包含在应用程序中”是什么意思,因为只要许可允许,您可能会交付任何库。你指的是sqlite小还是public domain?
Mercurial 是一款类似的轻量级版本控制软件。如果您使用 python 编写应用程序,这可能是因为python now includes sqlite3,直接从 mercurial 的源代码导入功能应该不会太困难。否则,调用命令行进程并不丢人,尽管这可能更笨拙。 Mercurial 不是公共领域,但它是 GPL 的。
Mercurial 也是我个人最喜欢的现代版本控制系统。它领先于 CVS 和 Subversion,与 GIT 非常相似,但使用起来更简单。
【讨论】:
你可能想看看fossil,一个由sqlite作者写的scm工具。我不知道嵌入有多么容易,但它是一个可执行文件,所以它应该很容易在你的应用程序中运行。
可以说,作为一个单独的进程运行它实际上可能比嵌入更好,因为它不会减慢您的应用程序的运行速度。
【讨论】:
在我看来Firebird 是嵌入式数据库场景的最佳选择之一。
Microsoft SQL Server Compact(封闭源代码,但免费)也可能是合适的,但它的能力不如 Firebird。
编辑: 我误读了你的问题。如果您不需要 RDBMS,可以尝试将 SVN 嵌入到您的应用程序中。
【讨论】: