~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/log.py

Merge from mpool.

Show diffs side-by-side

added added

removed removed

Lines of Context:
342
342
    def show(self, revno, rev, delta):
343
343
        raise NotImplementedError('not implemented in abstract base')
344
344
 
 
345
    def short_committer(self, rev):
 
346
        return re.sub('<.*@.*>', '', rev.committer).strip(' ')
 
347
    
345
348
    
346
349
class LongLogFormatter(LogFormatter):
347
350
    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
 
 
362
 
        date_str = format_date(rev.timestamp,
363
 
                               rev.timezone or 0,
364
 
                               self.show_timezone)
365
 
        print >>to_file,  'timestamp: %s' % date_str
366
 
 
367
 
        print >>to_file,  'message:'
368
 
        if not rev.message:
369
 
            print >>to_file,  '  (no message)'
370
 
        else:
371
 
            for l in rev.message.split('\n'):
372
 
                print >>to_file,  '  ' + l
373
 
 
374
 
        if delta != None:
375
 
            delta.show(to_file, self.show_ids)
 
351
        return self._show_helper(revno=revno, rev=rev)
376
352
 
377
353
    def show_merge(self, rev):
 
354
        return self._show_helper(rev=rev, indent='    ', merged=True)
 
355
 
 
356
    def _show_helper(self, rev=None, revno=None, indent='', merged=False):
378
357
        from osutils import format_date
379
358
 
380
359
        to_file = self.to_file
381
360
 
382
 
        indent = '    '
383
361
 
384
362
        print >>to_file,  indent+'-' * 60
385
 
        print >>to_file,  indent+'merged:', rev.revision_id
 
363
        if revno is not None:
 
364
            print >>to_file,  'revno:', revno
 
365
        if merged:
 
366
            print >>to_file,  indent+'merged:', rev.revision_id
 
367
        elif self.show_ids:
 
368
            print >>to_file,  indent+'revision-id:', rev.revision_id
386
369
        if self.show_ids:
387
370
            for parent_id in rev.parent_ids:
388
371
                print >>to_file, indent+'parent:', parent_id
389
372
            
390
373
        print >>to_file,  indent+'committer:', rev.committer
 
374
        try:
 
375
            print >>to_file, indent+'branch nick: %s' % \
 
376
                rev.properties['branch-nick']
 
377
        except KeyError:
 
378
            pass
391
379
 
392
380
        date_str = format_date(rev.timestamp,
393
381
                               rev.timezone or 0,
409
397
        to_file = self.to_file
410
398
        date_str = format_date(rev.timestamp, rev.timezone or 0,
411
399
                            self.show_timezone)
412
 
        print >>to_file, "%5d %s\t%s" % (revno, rev.committer,
 
400
        print >>to_file, "%5d %s\t%s" % (revno, self.short_committer(rev),
413
401
                format_date(rev.timestamp, rev.timezone or 0,
414
 
                            self.show_timezone))
 
402
                            self.show_timezone, date_fmt="%Y-%m-%d",
 
403
                           show_offset=False))
415
404
        if self.show_ids:
416
405
            print >>to_file,  '      revision-id:', rev.revision_id
417
406
        if not rev.message:
444
433
        else:
445
434
            return rev.message
446
435
 
447
 
    def short_committer(self, rev):
448
 
        return re.sub('<.*@.*>', '', rev.committer).strip(' ')
449
 
    
450
436
    def show(self, revno, rev, delta):
451
437
        print >> self.to_file, self.log_string(rev, 79) 
452
438