使用C#解码Git索引文件

shy*_*kov 4 c# git low-level

有没有关于Git索引文件内部结构的文档?从各种书中我知道它是二进制的,它包含分阶段文件的SHA,我知道Git'plumbing'命令有助于揭示索引内容......

但是,如何使用C#自己读取索引呢?

我知道有这个功能的几个实现,所以可以研究代码:

  • 在Git本身;
  • 在用C写的libgit2中;
  • 在GitSharp中从Java移植到C#.

所有这些选项都有点复杂,因为需要破解其他代码.我更愿意使用数据格式解释从头开发.如果有可能的原因.

非常感谢你的帮助!