156
155
email_users.setdefault(email, set()).add(username)
157
156
combo = (username, email)
158
157
combo_count[combo] = combo_count.setdefault(combo, 0) + 1
161
158
return revisions, collapse_email_and_users(email_users, combo_count)
164
161
def get_info(a_repo, revision):
165
162
"""Get all of the information for a particular revision"""
169
164
trace.note('getting ancestry')
170
165
graph = a_repo.get_graph()
172
167
r for (r, ps) in graph.iter_ancestry([revision])
173
168
if ps is not None and r != NULL_REVISION]
174
169
revs, canonical_committer = get_revisions_and_committers(a_repo, ancestry)
179
171
return collapse_by_person(revs, canonical_committer)