~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/delta.py

Use new-style output for status

Show diffs side-by-side

added added

removed removed

Lines of Context:
255
255
class ChangeReporter(object):
256
256
    """Report changes between two trees"""
257
257
 
258
 
    def __init__(self, old_inventory, output=None):
 
258
    def __init__(self, old_inventory, output=None, suppress_root_add=True):
 
259
        """Constructor
 
260
 
 
261
        :param old_inventory: The inventory of the old tree
 
262
        :param output: a function with the signature of trace.note, i.e.
 
263
            accepts a format and parameters.
 
264
        :param supress_root_add: If true, adding the root will be ignored
 
265
            (i.e. when a tree has just been initted)
 
266
        """
259
267
        self.old_inventory = old_inventory
260
268
        self.output = output
261
269
        if self.output is None:
262
270
            from bzrlib import trace
263
271
            self.output = trace.note
 
272
        self.suppress_root_add = suppress_root_add
264
273
 
265
274
    def report(self, file_id, path, versioned, renamed, modified, exe_change,
266
275
               kind):
277
286
        :param kind: A pair of file kinds, as generated by Tree._iter_changes.
278
287
            None indicates no file present.
279
288
        """
 
289
        if path == '' and versioned == 'added' and self.suppress_root_add:
 
290
            return
280
291
        modified_map = {'kind changed': 'K',
281
292
                        'unchanged': ' ',
282
293
                        'created': 'N',