~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/log.py

  • Committer: Aaron Bentley
  • Date: 2006-06-23 02:37:29 UTC
  • mto: This revision was merged to the branch mainline in revision 1807.
  • Revision ID: aaron.bentley@utoronto.ca-20060623023729-8bf69d76a70b3b87
Optimize log formats that don't show merges

Show diffs side-by-side

added added

removed removed

Lines of Context:
216
216
        mainline_revs.insert(0, None)
217
217
    else:
218
218
        mainline_revs.insert(0, which_revs[start_revision-2][1])
 
219
    if getattr(lf, 'show_merge', False) is False:
 
220
        no_merges = True 
 
221
    else:
 
222
        no_merges = False
219
223
    view_revisions = list(get_view_revisions(mainline_revs, rev_nos, branch,
220
 
                          direction))
 
224
                          direction, no_merges=no_merges))
221
225
 
222
226
    def iter_revisions():
223
 
        revision_ids = [r for r, n, e in view_revisions]
 
227
        revision_ids = [r for r, n, d in view_revisions]
224
228
        num = 9
225
229
        while revision_ids:
226
230
            revisions = branch.repository.get_revisions(revision_ids[:num])
254
258
                delta = None
255
259
 
256
260
            lf.show(revno, rev, delta)
257
 
        elif hasattr(lf, 'show_merge'):
 
261
        else:
258
262
            lf.show_merge(rev, merge_depth)
259
263
 
260
264
 
261
 
def get_view_revisions(mainline_revs, rev_nos, branch, direction):
 
265
def get_view_revisions(mainline_revs, rev_nos, branch, direction,
 
266
                       no_merges=False):
262
267
    """Produce an iterator of revisions to show
263
268
    :return: an iterator of (revision_id, revno, merge_depth)
264
269
    (if there is no revno for a revision, None is supplied)
265
270
    """
266
 
 
 
271
    if no_merges is True:
 
272
        revision_ids = mainline_revs[1:]
 
273
        if direction == 'reverse':
 
274
            revision_ids.reverse()
 
275
        for revision_id in revision_ids:
 
276
            yield revision_id, rev_nos[revision_id], 0
 
277
        return
267
278
    merge_sorted_revisions = merge_sort(
268
279
        branch.repository.get_revision_graph(mainline_revs[-1]),
269
280
        mainline_revs[-1],