~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/inventory.py

  • Committer: Martin Pool
  • Date: 2005-07-16 00:07:40 UTC
  • mfrom: (909.1.5)
  • Revision ID: mbp@sourcefrog.net-20050716000740-f2dcb8894a23fd2d
- merge aaron's bugfix branch
  up to abentley@panoramicfeedback.com-20050715134354-78f2bca607acb415

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]
644
640
 
645
641
 
646
642
 
647
 
_NAME_RE = None
 
643
_NAME_RE = re.compile(r'^[^/\\]+$')
648
644
 
649
645
def is_valid_name(name):
650
 
    global _NAME_RE
651
 
    if _NAME_RE == None:
652
 
        _NAME_RE = re.compile(r'^[^/\\]+$')
653
 
        
654
646
    return bool(_NAME_RE.match(name))