Skip to content

Instantly share code, notes, and snippets.

@ryansb
Created April 16, 2013 17:30
Show Gist options
  • Save ryansb/5397839 to your computer and use it in GitHub Desktop.
Save ryansb/5397839 to your computer and use it in GitHub Desktop.
import json
from collections import defaultdict
gitinfo = json.loads(raw_input())
files_by_user = defaultdict(set)
users_by_file = defaultdict(set)
for commit in gitinfo:
for f in commit['files']:
files_by_user[f].add(commit['author'])
for commit in gitinfo:
for f in commit['files']:
users_by_file[commit['author']].add(f)
print "File info"
print "# of commiters, filename"
print "\t[user <email>, ...]"
print "-" * 80
for f, a in files_by_user.items():
print len(a), f
print '\t[' + ', '.join(a) + ']'
print ""
print "Files per user"
print "# files, user <email>"
print "-" * 80
for a, f in users_by_file.items():
print len(f), a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment