~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/builtins.py

[patch] add 'bzr inventory --kind directory'; remove 'bzr directories'
(Johan Rydberg)

Show diffs side-by-side

added added

removed removed

Lines of Context:
260
260
 
261
261
 
262
262
class cmd_inventory(Command):
263
 
    """Show inventory of the current working copy or a revision."""
264
 
    takes_options = ['revision', 'show-ids']
 
263
    """Show inventory of the current working copy or a revision.
 
264
 
 
265
    It is possible to limit the output to a particular entry
 
266
    type using the --kind option.  For example; --kind file.
 
267
    """
 
268
    takes_options = ['revision', 'show-ids', 'kind']
265
269
    
266
270
    @display_command
267
 
    def run(self, revision=None, show_ids=False):
 
271
    def run(self, revision=None, show_ids=False, kind=None):
 
272
        if kind and kind not in ['file', 'directory', 'symlink']:
 
273
            raise BzrCommandError('invalid kind specified')
268
274
        b = Branch.open_containing('.')[0]
269
275
        if revision is None:
270
276
            inv = b.working_tree().read_working_inventory()
275
281
            inv = b.get_revision_inventory(revision[0].in_history(b).rev_id)
276
282
 
277
283
        for path, entry in inv.entries():
 
284
            if kind and kind != entry.kind:
 
285
                continue
278
286
            if show_ids:
279
287
                print '%-50s %s' % (path, entry.file_id)
280
288
            else:
671
679
            print revision_id
672
680
 
673
681
 
674
 
class cmd_directories(Command):
675
 
    """Display list of versioned directories in this branch."""
676
 
    @display_command
677
 
    def run(self):
678
 
        for name, ie in (Branch.open_containing('.')[0].working_tree().
679
 
                         read_working_inventory().directories()):
680
 
            if name == '':
681
 
                print '.'
682
 
            else:
683
 
                print name
684
 
 
685
 
 
686
682
class cmd_init(Command):
687
683
    """Make a directory into a versioned branch.
688
684