/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/log.py

  • Committer: Robert Collins
  • Date: 2008-08-28 01:27:59 UTC
  • mto: This revision was merged to the branch mainline in revision 3652.
  • Revision ID: robertc@robertcollins.net-20080828012759-4m8ng541gnk2d6b9
Review feedback.

Show diffs side-by-side

added added

removed removed

Lines of Context:
295
295
    :param view_revisions: The revisions being viewed.
296
296
    :param generate_delta: Whether to generate a delta for each revision.
297
297
    :param search: A user text search string.
298
 
    :return: An iterator over iterators of ((rev_id, revno, merge_depth), rev,
 
298
    :return: An iterator over lists of ((rev_id, revno, merge_depth), rev,
299
299
        delta).
300
300
    """
301
301
    # Convert view_revisions into (view, None, None) groups to fit with
302
302
    # the standard interface here.
303
303
    if type(view_revisions) == list:
 
304
        # A single batch conversion is faster than many incremental ones.
 
305
        # As we have all the data, do a batch conversion.
304
306
        nones = [None] * len(view_revisions)
305
307
        log_rev_iterator = iter([zip(view_revisions, nones, nones)])
306
308
    else:
314
316
    return log_rev_iterator
315
317
 
316
318
 
317
 
def make_search_filter(branch, generate_delta, search, log_rev_iterator):
 
319
def _make_search_filter(branch, generate_delta, search, log_rev_iterator):
318
320
    """Create a filtered iterator of log_rev_iterator matching on a regex.
319
321
 
320
322
    :param branch: The branch being logged.
322
324
    :param search: A user text search string.
323
325
    :param log_rev_iterator: An input iterator containing all revisions that
324
326
        could be displayed, in lists.
325
 
    :return: An iterator over iterators of ((rev_id, revno, merge_depth), rev,
 
327
    :return: An iterator over lists of ((rev_id, revno, merge_depth), rev,
326
328
        delta).
327
329
    """
328
330
    if search is None:
341
343
        yield new_revs
342
344
 
343
345
 
344
 
def make_delta_filter(branch, generate_delta, search, log_rev_iterator):
 
346
def _make_delta_filter(branch, generate_delta, search, log_rev_iterator):
345
347
    """Add revision deltas to a log iterator if needed.
346
348
 
347
349
    :param branch: The branch being logged.
349
351
    :param search: A user text search string.
350
352
    :param log_rev_iterator: An input iterator containing all revisions that
351
353
        could be displayed, in lists.
352
 
    :return: An iterator over iterators of ((rev_id, revno, merge_depth), rev,
 
354
    :return: An iterator over lists of ((rev_id, revno, merge_depth), rev,
353
355
        delta).
354
356
    """
355
357
    if not generate_delta:
358
360
 
359
361
 
360
362
def _generate_deltas(repository, log_rev_iterator):
 
363
    """Create deltas for each batch of revisions in log_rev_iterator."""
361
364
    for revs in log_rev_iterator:
362
365
        revisions = [rev[1] for rev in revs]
363
366
        deltas = repository.get_deltas_for_revisions(revisions)
365
368
        yield revs
366
369
 
367
370
 
368
 
def make_revision_objects(branch, generate_delta, search, log_rev_iterator):
 
371
def _make_revision_objects(branch, generate_delta, search, log_rev_iterator):
369
372
    """Extract revision objects from the repository
370
373
 
371
374
    :param branch: The branch being logged.
373
376
    :param search: A user text search string.
374
377
    :param log_rev_iterator: An input iterator containing all revisions that
375
378
        could be displayed, in lists.
376
 
    :return: An iterator over iterators of ((rev_id, revno, merge_depth), rev,
 
379
    :return: An iterator over lists of ((rev_id, revno, merge_depth), rev,
377
380
        delta).
378
381
    """
379
382
    repository = branch.repository
386
389
        yield revs
387
390
 
388
391
 
389
 
def make_batch_filter(branch, generate_delta, search, log_rev_iterator):
 
392
def _make_batch_filter(branch, generate_delta, search, log_rev_iterator):
390
393
    """Group up a single large batch into smaller ones.
391
394
 
392
395
    :param branch: The branch being logged.
394
397
    :param search: A user text search string.
395
398
    :param log_rev_iterator: An input iterator containing all revisions that
396
399
        could be displayed, in lists.
397
 
    :return: An iterator over ((rev_id, revno, merge_depth), rev, delta).
 
400
    :return: An iterator over lists of ((rev_id, revno, merge_depth), rev, delta).
398
401
    """
399
402
    repository = branch.repository
400
403
    num = 9
996
999
# this won't be considered a stable api.
997
1000
log_adapters = [
998
1001
    # core log logic
999
 
    make_batch_filter,
 
1002
    _make_batch_filter,
1000
1003
    # read revision objects
1001
 
    make_revision_objects,
 
1004
    _make_revision_objects,
1002
1005
    # filter on log messages
1003
 
    make_search_filter,
 
1006
    _make_search_filter,
1004
1007
    # generate deltas for things we will show
1005
 
    make_delta_filter
 
1008
    _make_delta_filter
1006
1009
    ]