Contando y parsing commits en la organización de Github (no repo)

Me gustaría contar las confirmaciones de 2012 en http://github.com/plone y http://github.com/collective

¿Hay alguna herramienta para hacer esto? ¿Proporcionar statistics para las organizaciones de Github?

¿Debo escribir mi propio script para rastrear los repositorys, revisarlos individualmente y contar los commits?

Así es como lo haría:

  • use la API de GitHub para enumerar los repositorys (vea el JSON para Plone para ver un ejemplo). Bucle sobre el resultado JSON y con cada uno:
    • Mira el repository (la URL git_url ) con git clone --bare ; solo la información de git, ninguna copy de trabajo. Esto crea un directory <repository_name>.git> , digamos plone.event.git si plone.event.git git://github.com/plone/plone.event.git .
    • Cuente las revisiones con git --git-dir=<git_directory> rev-list HEAD --count ; envía el conteo a stdout, por lo que subprocess.check_output() debería hacer bien el trabajo.
    • Retire el directory .git nuevamente

Eso solo requiere 2 llamadas a la API, por lo que evitará tener una tarifa limitada; paginar a través de todas las confirmaciones con la API requeriría demasiadas requestes para contar todas las confirmaciones de repositorys; de todos modos, retirar una copy del repository sería más rápido.