Git の背後にあるデータ構造を想像してみてください。これは、従来のポインターの代わりにハッシュ参照を使用することを除いて、コンフルーエントに永続的なデータ構造に似ています。
作業ツリーとインデックスのものがない場合を除いて、Git のデータ構造が必要です。そして、何百万ものブランチが存在し、それぞれが少数の他のローカル ブランチを追跡します。コミットとマージは、異なるスレッドで毎分数千回発生します。プルは毎秒発生します。
libgit2とjgitの間で、 Git のデータ ストレージ サブシステムを使用できます。
しかし、仕事に適したツールを使用していますか? git の機能を備えた DB はありますか? メモリにキャッシュされた書き込みは非常に役立ちます。
タスク:
共同編集ゲーム。各プレイヤーには独自のブランチがあり、ゲームの世界に加えるすべての変更はそのバージョンにのみ適用されます。変更は、信頼できるユーザーによって「マスター」ブランチにマージされます。多くの場合、データとソース コードは結び付けられており、同じ分岐およびマージ機能が必要です。