SQLite ライブラリをアプリケーションに組み込む方法と、アプリケーションが使用する本格的なデータベースを備えている方法が気に入っています。
同様に、ファイルのバージョンを保存したり、差分やマージを実行したりできるように、アプリケーションに含めることができるオープン ソースのバージョン管理ライブラリはありますか?
SQLite ライブラリをアプリケーションに組み込む方法と、アプリケーションが使用する本格的なデータベースを備えている方法が気に入っています。
同様に、ファイルのバージョンを保存したり、差分やマージを実行したりできるように、アプリケーションに含めることができるオープン ソースのバージョン管理ライブラリはありますか?
SVN は、エンド ユーザー マシンの前提条件を必要としません。SVN をアプリに直接埋め込むことができます。Subversion 統合の詳細については、SVN フォーラムの「 Application Integration/Embedding 」スレッドにアクセスしてください。
自分の質問に自分で答えて、最近、探していたものとほぼ同じであるhgshelveとgitshelveを発見しました。
ライセンスで許可されている限り、任意のライブラリを提供できる可能性があるため、「アプリケーションに含まれる」とはどういう意味か完全にはわかりません。sqlite が小さい、またはパブリック ドメインであるという事実に言及していますか?
Mercurialは、同様に軽量なリビジョン管理ソフトウェアです。アプリケーションを Python で作成している場合 (Python には sqlite3 が含まれている可能性が高いため)、mercurial のソース コードから機能を直接インポートすることはそれほど難しくありません。それ以外の場合、コマンドライン プロセスを呼び出すことは恥ずべきことではありませんが、これは扱いにくいかもしれません。Mercurial はパブリック ドメインではありませんが、GPL です。
Mercurial は、最近のリビジョン管理システムの中でも個人的にお気に入りです。CVS や Subversion よりもはるかに優れており、GIT に非常に似ていますが、使い方はやや簡単です。
sqlite の作成者によって作成された scm ツール、fossilを参照してください。埋め込みがどれほど簡単かはわかりませんが、単一の実行可能ファイルであるため、アプリケーション内から実行するのは非常に簡単です。
おそらく、別のプロセスとして実行することは、実行中にアプリの速度を低下させないため、実際には埋め込むよりも優れている可能性があります。
私の意見では、 Firebirdは組み込み DB シナリオに最適な選択肢の 1 つです。
また、Microsoft SQL Server Compact (クローズド ソースですが無料) も適している可能性がありますが、Firebird ほどの機能はありません。
編集: 私はあなたの質問を読み違えました。RDBMS が必要ない場合は、SVNをアプリケーションに埋め込んでみてください。