如何在内存中创建git存储库?

时间:2016-10-05 01:26:25

标签: ruby libgit2 rugged

我目前正在开发一个flashcard应用程序,其中用户创建的套牌充当Git存储库。在应用程序中创建卡片时,会在更改卡片,更改文件以及删除卡片时将新文件提交到存储库。嗯,您明白了这一点。

应用程序保存的文件格式是一个gzip压缩的Git存储库,因此我不需要将存储库写入磁盘。我怎样才能以这种方式最好地将甲板处理为Git存储库?

1 个答案:

答案 0 :(得分:6)

看看libgit2。它支持内存中的git存储库场景,并且还绑定了许多语言:

https://libgit2.github.com

例如,通过使用rugged,libgit2的ruby绑定,你可以这样做:

    SELECT symbol,
           comp
      FROM table0
     WHERE CHARINDEX(symbol,comp) > 0
UNION ALL
     SELECT a.symbol AS symbol,
            b.comp AS comp
       FROM table0 a, table0 b
      WHERE a.symbol = b.comp 
     ;