【发布时间】:2016-10-05 01:26:24
【问题描述】:
我目前正在开发一个抽认卡应用程序,其中用户创建的卡片组充当 Git 存储库。在应用程序中创建卡片时,会将新文件提交到存储库,更改卡片时,更改文件,删除卡片时 - 嗯,你明白了。
应用程序保存到的文件格式是 gzip 压缩的 Git 存储库,因此我永远不需要将存储库写入磁盘。我怎样才能最好地以这种方式将卡片组视为 Git 存储库?
【问题讨论】:
-
闪卡应用的状态? ??????
我目前正在开发一个抽认卡应用程序,其中用户创建的卡片组充当 Git 存储库。在应用程序中创建卡片时,会将新文件提交到存储库,更改卡片时,更改文件,删除卡片时 - 嗯,你明白了。
应用程序保存到的文件格式是 gzip 压缩的 Git 存储库,因此我永远不需要将存储库写入磁盘。我怎样才能最好地以这种方式将卡片组视为 Git 存储库?
【问题讨论】:
看看 libgit2。它支持内存中的 git 存储库方案,并且还绑定了多种语言:
例如,通过使用 rugged,libgit2 的 ruby 绑定,您可以执行以下操作:
a_backend = Rugged::InMemory::Backend.new(opt1: 'setting', opt2: 'setting')
repo = Rugged::Repository.init_at('repo_name', :bare, backend: a_backend)