2016-11-20 212 views

回答

0

这不是libgt2sharp语言绑定的功能,而是底层的libgit2。

现在,事实上,它涉及的运输业务。

据我所知,不,他们不这样做。随意浏览他们的源代码(https://github.com/libgit2/libgit2/blob/cc5966b071b37c38736ce8ad526e612d0703b523/src/transports/smart_protocol.c)就像我一样。

+0

其实我试图比较由libgit2sharp和git bash提供的Git克隆。文件和文件夹的数量是不一样的(显然也是磁盘上的大小)。 我检查了你发给我的这个链接。我看到他们正在检查发送的数据包和收到的数据包,但他们没有执行任何SHA检查,是吗? –

0

Git使用包文件在存储库之间传输对象。这些包文件中的每个对象都具有CRC32校验和,并且包文件本身具有SHA-1校验和预告片。

这两个校验和都会根据收到的数据进行检查。这包括根据接收到的数据计算对象的名称,而不是使用哈希信任远程。

但这不是关于libgit2sharp或libgit2。这就是Git系统的工作原理。您可以在其技术文档中找到有关数据格式的信息。

相关问题