/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to annotate/gannotate.py

  • Committer: Aaron Bentley
  • Date: 2008-03-04 16:56:23 UTC
  • Revision ID: aaron@aaronbentley.com-20080304165623-5l1rsz5tt6kfc21v
Use Branch.get_revision_id_to_revno_map in gannotate

Show diffs side-by-side

added added

removed removed

Lines of Context:
80
80
        try:
81
81
            branch.lock_read()
82
82
            branch.repository.lock_read()
 
83
            self.dotted = {}
 
84
            revno_map = self.branch.get_revision_id_to_revno_map()
 
85
            for revision_id, revno in revno_map.iteritems():
 
86
                self.dotted[revision_id] = '.'.join(str(num) for num in revno)
83
87
            for line_no, (revision, revno, line)\
84
88
                    in enumerate(self._annotate(tree, file_id)):
85
89
                if revision.revision_id == last_seen and not self.all:
124
128
        self.annoview.set_cursor(row)
125
129
        self.annoview.scroll_to_cell(row, use_align=True)
126
130
 
127
 
    def _dotted_revnos(self, repository, revision_id):
128
 
        """Return a dict of revision_id -> dotted revno
129
 
        
130
 
        :param repository: The repository to get the graph from
131
 
        :param revision_id: The last revision for which this info is needed
132
 
        """
133
 
        graph = repository.get_revision_graph(revision_id)
134
 
        dotted = {}
135
 
        for n, revision_id, d, revno, e in tsort.merge_sort(graph, 
136
 
            revision_id, generate_revno=True):
137
 
            dotted[revision_id] = '.'.join(str(num) for num in revno)
138
 
        return dotted
139
131
 
140
132
    def _annotate(self, tree, file_id):
141
133
        current_revision = FakeRevision(CURRENT_REVISION)
150
142
            revision_id = self.branch.last_revision()
151
143
        else:
152
144
            revision_id = self.revision_id
153
 
        dotted = self._dotted_revnos(repository, revision_id)
154
145
        revision_cache = RevisionCache(repository, self.revisions)
155
146
        for origin, text in tree.annotate_iter(file_id):
156
147
            rev_id = origin
160
151
            else:
161
152
                try:
162
153
                    revision = revision_cache.get_revision(rev_id)
163
 
                    revno = dotted.get(rev_id, 'merge')
 
154
                    revno = self.dotted.get(rev_id, 'merge')
164
155
                    if len(revno) > 15:
165
156
                        revno = 'merge'
166
157
                except NoSuchRevision: