6

我想在http://github.com/plonehttp://github.com/collective中计算 2012 年的提交

是否有任何工具可以做到这一点——为 Github 组织提供统计数据?

我是否需要编写自己的脚本来抓取存储库,单独检查它们并计算提交?

4

1 回答 1

3

这是我的做法:

  • 使用 GitHub API 枚举存储库(有关示例,请参阅JSON for Plone )。循环遍历 JSON 结果和每个:
    • 使用;查看存储库(git_urlURL)git clone --bare只有 git 信息,没有工作副本。这会创建一个<repository_name>.git>目录,假设plone.event.git您克隆了git://github.com/plone/plone.event.git.
    • git --git-dir=<git_directory> rev-list HEAD --count用;计算修订 将计数输出到标准输出,所以subprocess.check_output()应该可以很好地完成这项工作。
    • 再次删除.git目录

这只需要 2 次 API 调用,因此您可以避免受到速率限制;使用 API 对所有提交进行分页将需要太多请求来计算所有存储库提交,无论如何检查一个裸存储库副本会更快。

于 2013-04-23T08:58:40.070 回答