~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/inventory.py

  • Committer: mbp at sourcefrog
  • Date: 2005-04-11 06:37:56 UTC
  • Revision ID: mbp@sourcefrog.net-20050411063756-7405f9a0af040600
doc

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
 
"""Inventories map files to their name in a revision."""
18
17
 
19
18
# TODO: Maybe store inventory_id in the file?  Not really needed.
20
19
 
21
 
__author__ = "Martin Pool <mbp@canonical.com>"
22
 
 
23
20
 
24
21
# This should really be an id randomly assigned when the tree is
25
22
# created, but it's not for now.
253
250
class Inventory(XMLMixin):
254
251
    """Inventory of versioned files in a tree.
255
252
 
256
 
    An Inventory acts like a set of InventoryEntry items.  You can
257
 
    also look files up by their file_id or name.
258
 
    
259
 
    May be read from and written to a metadata file in a tree.  To
260
 
    manipulate the inventory (for example to add a file), it is read
261
 
    in, modified, and then written back out.
 
253
    This describes which file_id is present at each point in the tree,
 
254
    and possibly the SHA-1 or other information about the file.
 
255
    Entries can be looked up either by path or by file_id.
262
256
 
263
257
    The inventory represents a typical unix file tree, with
264
258
    directories containing files and subdirectories.  We never store
306
300
    ## TODO: No special cases for root, rather just give it a file id
307
301
    ## like everything else.
308
302
 
309
 
    ## TODO: Probably change XML serialization to use nesting
 
303
    ## TODO: Probably change XML serialization to use nesting rather
 
304
    ## than parent_id pointers.
 
305
 
 
306
    ## TODO: Perhaps hold the ElementTree in memory and work directly
 
307
    ## on that rather than converting into Python objects every time?
310
308
 
311
309
    def __init__(self):
312
310
        """Create or read an inventory.