我正在尝试建立一个支持git版本控制的网站。我正在使用libgit2作为后端。但是我认为文件系统不是那么容易扩展和保证数据完整性。我注意到libgit2具有自定义后端(https://github.com/libgit2/libgit2-backends)支持,可以在其中使用数据库进行某些存储。
最初,我希望可以通过将与git相关的所有内容保存到数据库中来完全摆脱文件系统的困扰。但是,在尝试了sqlite后端之后,似乎libgit2仍需要在文件系统上生成一个.git文件夹吗?使用数据库作为后端时,可以删除.git文件夹吗?
答案 0 :(得分:1)
使用libgit2建立可运行的“内存中”存储库存在一些“局限性”,即使支持“某些”内存中状态。如您所知,自定义对象数据库(.git/objects/
)和refdb(.git/refs/
)都有API端点,并且config子系统可以在内存中工作。但这并不是.git/
中可以使用的所有其他内容的原因,因为在回购级别没有自定义点-恕我直言,这不是git,我们完全在谈论fs-时,更少-工作并没有真正朝着这个方向发展。