85
85
for revs, email, fname in counter_to_info.values()), reverse=True)
88
def sort_by_committer(a_repo, revids):
90
pb = bzrlib.ui.ui_factory.nested_progress_bar()
92
pb.note('getting revisions')
93
revisions = a_repo.get_revisions(revids)
94
for count, rev in enumerate(revisions):
95
pb.update('checking', count, len(revids))
97
email = extract_email_address(rev.committer)
98
except errors.BzrError:
100
committers.setdefault(email, []).append(rev)
88
107
def get_info(a_repo, revision):
89
108
"""Get all of the information for a particular revision"""
90
109
pb = bzrlib.ui.ui_factory.nested_progress_bar()
92
110
a_repo.lock_read()
94
112
pb.note('getting ancestry')
95
113
ancestry = a_repo.get_ancestry(revision)[1:]
96
pb.note('getting revisions')
97
revisions = a_repo.get_revisions(ancestry)
99
for count, rev in enumerate(revisions):
100
pb.update('checking', count, len(ancestry))
102
email = extract_email_address(rev.committer)
103
except errors.BzrError:
104
email = rev.committer
105
committers.setdefault(email, []).append(rev)
115
committers = sort_by_committer(a_repo, ancestry)
110
info = collapse_by_author(committers)
120
return collapse_by_author(committers)
114
123
def get_diff_info(a_repo, start_rev, end_rev):