~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/log.py

  • Committer: Patch Queue Manager
  • Date: 2011-09-19 15:22:23 UTC
  • mfrom: (6123.11.18 log-omit-merges)
  • Revision ID: pqm@pqm.ubuntu.com-20110919152223-o7lh1428tge31dg1
(jr) Add options --omit-merges and --include-merged for bzr log and missing,
 deprecating --include-merges. (Martin von Gagern)

Show diffs side-by-side

added added

removed removed

Lines of Context:
215
215
    Logger(branch, rqst).show(lf)
216
216
 
217
217
 
218
 
# Note: This needs to be kept this in sync with the defaults in
 
218
# Note: This needs to be kept in sync with the defaults in
219
219
# make_log_request_dict() below
220
220
_DEFAULT_REQUEST_PARAMS = {
221
221
    'direction': 'reverse',
232
232
                          delta_type=None,
233
233
                          diff_type=None, _match_using_deltas=True,
234
234
                          exclude_common_ancestry=False, match=None,
235
 
                          signature=False,
 
235
                          signature=False, omit_merges=False,
236
236
                          ):
237
237
    """Convenience function for making a logging request dictionary.
238
238
 
288
288
      revisions. Keys can be 'message', 'author', 'committer', 'bugs' or
289
289
      the empty string to match any of the preceding properties.
290
290
 
 
291
    :param omit_merges: If True, commits with more than one parent are
 
292
      omitted.
 
293
 
291
294
    """
292
295
    # Take care of old style message_search parameter
293
296
    if message_search:
311
314
        'exclude_common_ancestry': exclude_common_ancestry,
312
315
        'signature': signature,
313
316
        'match': match,
 
317
        'omit_merges': omit_merges,
314
318
        # Add 'private' attributes for features that may be deprecated
315
319
        '_match_using_deltas': _match_using_deltas,
316
320
    }
447
451
        limit = rqst.get('limit')
448
452
        diff_type = rqst.get('diff_type')
449
453
        show_signature = rqst.get('signature')
 
454
        omit_merges = rqst.get('omit_merges')
450
455
        log_count = 0
451
456
        revision_iterator = self._create_log_revision_iterator()
452
457
        for revs in revision_iterator:
454
459
                # 0 levels means show everything; merge_depth counts from 0
455
460
                if levels != 0 and merge_depth >= levels:
456
461
                    continue
 
462
                if omit_merges and len(rev.parent_ids) > 1:
 
463
                    continue
457
464
                if diff_type is None:
458
465
                    diff = None
459
466
                else:
1405
1412
            if advice_sep:
1406
1413
                self.to_file.write(advice_sep)
1407
1414
            self.to_file.write(
1408
 
                "Use --include-merges or -n0 to see merged revisions.\n")
 
1415
                "Use --include-merged or -n0 to see merged revisions.\n")
1409
1416
 
1410
1417
    def get_advice_separator(self):
1411
1418
        """Get the text separating the log from the closing advice."""