~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/inventory.py

  • Committer: Martin Pool
  • Date: 2005-07-12 01:44:23 UTC
  • Revision ID: mbp@sourcefrog.net-20050712014423-1d95eb47ce7ab510
- add simple test case for bzr status

- show_status takes to_file argument

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
 
28
28
from bzrlib.osutils import uuid, quotefn, splitpath, joinpath, appendpath
29
29
from bzrlib.trace import mutter
30
 
from bzrlib.errors import NotVersionedError
31
 
        
32
30
 
33
31
class InventoryEntry(object):
34
32
    """Description of a versioned file.
94
92
    # TODO: split InventoryEntry into subclasses for files,
95
93
    # directories, etc etc.
96
94
 
97
 
    __slots__ = ['text_sha1', 'text_size', 'file_id', 'name', 'kind',
98
 
                 'text_id', 'parent_id', 'children', ]
99
 
 
 
95
    text_sha1 = None
 
96
    text_size = None
 
97
    
100
98
    def __init__(self, file_id, name, kind, parent_id, text_id=None):
101
99
        """Create an InventoryEntry
102
100
        
115
113
        if '/' in name or '\\' in name:
116
114
            raise BzrCheckError('InventoryEntry name %r is invalid' % name)
117
115
        
118
 
        self.text_sha1 = None
119
 
        self.text_size = None
120
 
    
121
116
        self.file_id = file_id
122
117
        self.name = name
123
118
        self.kind = kind
431
426
        """Add entry from a path.
432
427
 
433
428
        The immediate parent must already be versioned"""
434
 
        from bzrlib.branch import gen_file_id
 
429
        from bzrlib.errors import NotVersionedError
435
430
        
436
431
        parts = bzrlib.osutils.splitpath(relpath)
437
432
        if len(parts) == 0:
438
433
            raise BzrError("cannot re-add root of inventory")
439
434
 
440
435
        if file_id == None:
 
436
            from bzrlib.branch import gen_file_id
441
437
            file_id = gen_file_id(relpath)
442
438
 
443
439
        parent_path = parts[:-1]
569
565
        """Return as a list the path to file_id."""
570
566
 
571
567
        # get all names, skipping root
572
 
        p = [self._byid[fid].name for fid in self.get_idpath(file_id)[1:]]
 
568
        p = [self[fid].name for fid in self.get_idpath(file_id)[1:]]
573
569
        return os.sep.join(p)
574
570
            
575
571