如何从GitHub验证克隆repo的正确大小?

时间:2017-04-07 10:04:08

标签: git ubuntu github github-api

我的问题是如何验证克隆存储库的实际大小,与其在Github上的大小进行比较,以自动检查存储库是否已正确下载。

问题是GitHub API给出的大小与克隆的repo的大小不匹配。 这是我的所作所为:

  1. 我使用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

  2.   

    输出:“尺寸”:55617,

    1. 我克隆存储库并计算下载文件夹的大小

      $ git clone https://github.com/jemole/drScratch

      $ du -s drScratch

    2.   

      输出:69104 drScratch /

      谢谢!

1 个答案:

答案 0 :(得分:0)

git repo的大小确实有所不同,因为没有规范的方法让git存储数据(至少有单个对象与pack文件,不同的repos之间的pack文件也可能不同 - 只是寻找调用git gc之前和之后的本地git repo的大小。因此,您无法使用该大小作为正确下载的衡量标准。

您可以通过调用git fsck来检查本地存储库,此命令将遍历所有修订版并查看每个引用的对象是否符合其哈希值。