~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/log.py

  • Committer: John Arbash Meinel
  • Date: 2005-09-15 21:35:53 UTC
  • mfrom: (907.1.57)
  • mto: (1393.2.1)
  • mto: This revision was merged to the branch mainline in revision 1396.
  • Revision ID: john@arbash-meinel.com-20050915213552-a6c83a5ef1e20897
(broken) Transport work is merged in. Tests do not pass yet.

Show diffs side-by-side

added added

removed removed

Lines of Context:
109
109
    return rh
110
110
 
111
111
 
112
 
def _get_revision_delta(branch, revno):
113
 
    """Return the delta for a mainline revision.
114
 
    
115
 
    This is used to show summaries in verbose logs, and also for finding 
116
 
    revisions which touch a given file."""
117
 
    # FIXME: The current version is very inefficient; it retrieves all revisions
118
 
    # twice and reads the weave twice.  We ought to keep revisions in memory 
119
 
    # in case they're used again, either in a general cache or perhaps 
120
 
    # in this code.
121
 
    # XXX: What are we supposed to do when showing a summary for something 
122
 
    # other than a mainline revision.  The delta to it's first parent, or
123
 
    # (more useful) the delta to a nominated other revision.
124
 
    return branch.get_revision_delta(revno)
125
 
 
126
 
 
127
112
def show_log(branch,
128
113
             lf,
129
114
             specific_fileid=None,
196
181
 
197
182
    for revno, rev_id in cut_revs:
198
183
        if verbose or specific_fileid:
199
 
            delta = _get_revision_delta(branch, revno)
 
184
            delta = branch.get_revision_delta(revno)
200
185
            
201
186
        if specific_fileid:
202
187
            if not delta.touches_file_id(specific_fileid):
308
293
 
309
294
    def show(self, revno, rev, delta):
310
295
        raise NotImplementedError('not implemented in abstract base')
311
 
 
312
 
    
 
296
        
 
297
 
 
298
 
 
299
 
 
300
 
 
301
 
313
302
class LongLogFormatter(LogFormatter):
314
303
    def show(self, revno, rev, delta):
315
304
        from osutils import format_date
321
310
        if self.show_ids:
322
311
            print >>to_file,  'revision-id:', rev.revision_id
323
312
 
324
 
            for parent_id in rev.parent_ids:
325
 
                print >>to_file, 'parent:', parent_id
 
313
            for parent in rev.parents:
 
314
                print >>to_file, 'parent:', parent.revision_id
326
315
            
327
316
        print >>to_file,  'committer:', rev.committer
328
317
 
374
363
 
375
364
 
376
365
def log_formatter(name, *args, **kwargs):
377
 
    """Construct a formatter from arguments.
378
 
 
379
 
    name -- Name of the formatter to construct; currently 'long' and
380
 
        'short' are supported.
381
 
    """
382
366
    from bzrlib.errors import BzrCommandError
 
367
    
383
368
    try:
384
369
        return FORMATTERS[name](*args, **kwargs)
385
370
    except IndexError: