~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/inventory.py

  • Committer: Robert Collins
  • Date: 2005-09-28 05:25:54 UTC
  • mfrom: (1185.1.42)
  • mto: (1092.2.18)
  • mto: This revision was merged to the branch mainline in revision 1397.
  • Revision ID: robertc@robertcollins.net-20050928052554-beb985505f77ea6a
update symlink branch to integration

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
ROOT_ID = "TREE_ROOT"
21
21
 
22
22
 
23
 
import sys, os.path, types, re
 
23
import os.path
 
24
import re
 
25
import sys
 
26
import types
24
27
 
25
28
import bzrlib
26
29
from bzrlib.errors import BzrError, BzrCheckError
27
30
 
28
 
from bzrlib.osutils import uuid, quotefn, splitpath, joinpath, appendpath
 
31
from bzrlib.osutils import quotefn, splitpath, joinpath, appendpath
29
32
from bzrlib.trace import mutter
30
33
from bzrlib.errors import NotVersionedError
31
 
        
 
34
 
32
35
 
33
36
class InventoryEntry(object):
34
37
    """Description of a versioned file.
79
82
    InventoryEntry('2326', 'wibble.c', kind='file', parent_id='2325')
80
83
    >>> i['2326']
81
84
    InventoryEntry('2326', 'wibble.c', kind='file', parent_id='2325')
82
 
    >>> for j in i.iter_entries():
83
 
    ...     print j[0]
84
 
    ...     assert i.path2id(j[0])
 
85
    >>> for path, entry in i.iter_entries():
 
86
    ...     print path.replace('\\\\', '/')     # for win32 os.sep
 
87
    ...     assert i.path2id(path)
85
88
    ... 
86
89
    src
87
90
    src/bye.c
88
91
    src/hello.c
89
92
    src/wibble
90
93
    src/wibble/wibble.c
91
 
    >>> i.id2path('2326')
 
94
    >>> i.id2path('2326').replace('\\\\', '/')
92
95
    'src/wibble/wibble.c'
93
96
 
94
97
    TODO: Maybe also keep the full path of the entry, and the children?
103
106
                 'text_id', 'parent_id', 'children',
104
107
                 'text_version', 'entry_version', 'symlink_target']
105
108
 
106
 
 
107
109
    def __init__(self, file_id, name, kind, parent_id, text_id=None):
108
110
        """Create an InventoryEntry
109
111
        
262
264
        The inventory is created with a default root directory, with
263
265
        an id of None.
264
266
        """
265
 
        # We are letting Branch(init=True) create a unique inventory
 
267
        # We are letting Branch.initialize() create a unique inventory
266
268
        # root id. Rather than generating a random one here.
267
269
        #if root_id is None:
268
270
        #    root_id = bzrlib.branch.gen_file_id('TREE_ROOT')