我的问题是如何验证克隆存储库的实际大小,与其在Github上的大小进行比较,以自动检查存储库是否已正确下载。
问题是GitHub API给出的大小与克隆的repo的大小不匹配。 这是我的所作所为:
我使用GitHub API获取存储库大小
$ echo https://github.com/jemole/drScratch | perl -ne'打印$ 1如果m!([^ /] + / [^ /] +?)(?:。git)?$!' | xargs -i curl -s -k https://api.github.com/repos/'{}'| grep size
输出:“尺寸”:55617,
我克隆存储库并计算下载文件夹的大小
$ git clone https://github.com/jemole/drScratch
$ du -s drScratch
输出:69104 drScratch /
谢谢!
答案 0 :(得分:0)
git repo的大小确实有所不同,因为没有规范的方法让git存储数据(至少有单个对象与pack文件,不同的repos之间的pack文件也可能不同 - 只是寻找调用git gc
之前和之后的本地git repo的大小。因此,您无法使用该大小作为正确下载的衡量标准。
您可以通过调用git fsck
来检查本地存储库,此命令将遍历所有修订版并查看每个引用的对象是否符合其哈希值。