~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/log.py

Refactored long-format log printing

Show diffs side-by-side

added added

removed removed

Lines of Context:
345
345
    
346
346
class LongLogFormatter(LogFormatter):
347
347
    def show(self, revno, rev, delta):
348
 
        from osutils import format_date
349
 
 
350
 
        to_file = self.to_file
351
 
 
352
 
        print >>to_file,  '-' * 60
353
 
        print >>to_file,  'revno:', revno
354
 
        if self.show_ids:
355
 
            print >>to_file,  'revision-id:', rev.revision_id
356
 
 
357
 
            for parent_id in rev.parent_ids:
358
 
                print >>to_file, 'parent:', parent_id
359
 
            
360
 
        print >>to_file,  'committer:', rev.committer
361
 
        try:
362
 
            print >>to_file, "branch nick: %s" % \
363
 
                rev.properties['branch-nick']
364
 
        except KeyError:
365
 
            pass
366
 
 
367
 
        date_str = format_date(rev.timestamp,
368
 
                               rev.timezone or 0,
369
 
                               self.show_timezone)
370
 
        print >>to_file,  'timestamp: %s' % date_str
371
 
 
372
 
        print >>to_file,  'message:'
373
 
        if not rev.message:
374
 
            print >>to_file,  '  (no message)'
375
 
        else:
376
 
            for l in rev.message.split('\n'):
377
 
                print >>to_file,  '  ' + l
378
 
 
379
 
        if delta != None:
380
 
            delta.show(to_file, self.show_ids)
 
348
        return self._show_helper(revno=revno, rev=rev)
381
349
 
382
350
    def show_merge(self, rev):
 
351
        return self._show_helper(rev=rev, indent='    ', merged=True)
 
352
 
 
353
    def _show_helper(self, rev=None, revno=None, indent='', merged=False):
383
354
        from osutils import format_date
384
355
 
385
356
        to_file = self.to_file
386
357
 
387
 
        indent = '    '
388
358
 
389
359
        print >>to_file,  indent+'-' * 60
390
 
        print >>to_file,  indent+'merged:', rev.revision_id
 
360
        if revno is not None:
 
361
            print >>to_file,  'revno:', revno
 
362
        if merged:
 
363
            print >>to_file,  indent+'merged:', rev.revision_id
 
364
        elif self.show_ids:
 
365
            print >>to_file,  indent+'revision-id:', rev.revision_id
391
366
        if self.show_ids:
392
367
            for parent_id in rev.parent_ids:
393
368
                print >>to_file, indent+'parent:', parent_id