~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/inventory.py

  • Committer: Robert Collins
  • Date: 2005-08-25 02:43:15 UTC
  • mto: (974.1.50) (1185.1.10) (1092.3.1)
  • mto: This revision was merged to the branch mainline in revision 1139.
  • Revision ID: robertc@robertcollins.net-20050825024315-01e64162aa925ac3
change smart_add reporting of added files to callback with the entry, and change the inventory.add signature to return the added entry

Show diffs side-by-side

added added

removed removed

Lines of Context:
55
55
    >>> i.path2id('')
56
56
    'TREE_ROOT'
57
57
    >>> i.add(InventoryEntry('123', 'src', 'directory', ROOT_ID))
 
58
    InventoryEntry('123', 'src', kind='directory', parent_id='TREE_ROOT')
58
59
    >>> i.add(InventoryEntry('2323', 'hello.c', 'file', parent_id='123'))
 
60
    InventoryEntry('2323', 'hello.c', kind='file', parent_id='123')
59
61
    >>> for j in i.iter_entries():
60
62
    ...   print j
61
63
    ... 
66
68
    ...
67
69
    BzrError: inventory already contains entry with id {2323}
68
70
    >>> i.add(InventoryEntry('2324', 'bye.c', 'file', '123'))
 
71
    InventoryEntry('2324', 'bye.c', kind='file', parent_id='123')
69
72
    >>> i.add(InventoryEntry('2325', 'wibble', 'directory', '123'))
 
73
    InventoryEntry('2325', 'wibble', kind='directory', parent_id='123')
70
74
    >>> i.path2id('src/wibble')
71
75
    '2325'
72
76
    >>> '2325' in i
73
77
    True
74
78
    >>> i.add(InventoryEntry('2326', 'wibble.c', 'file', '2325'))
 
79
    InventoryEntry('2326', 'wibble.c', kind='file', parent_id='2325')
75
80
    >>> i['2326']
76
81
    InventoryEntry('2326', 'wibble.c', kind='file', parent_id='2325')
77
82
    >>> for j in i.iter_entries():
268
273
 
269
274
    >>> inv = Inventory()
270
275
    >>> inv.add(InventoryEntry('123-123', 'hello.c', 'file', ROOT_ID))
 
276
    InventoryEntry('123-123', 'hello.c', kind='file', parent_id='TREE_ROOT')
271
277
    >>> inv['123-123'].name
272
278
    'hello.c'
273
279
 
284
290
    ['hello.c']
285
291
    >>> inv = Inventory('TREE_ROOT-12345678-12345678')
286
292
    >>> inv.add(InventoryEntry('123-123', 'hello.c', 'file', ROOT_ID))
 
293
    InventoryEntry('123-123', 'hello.c', kind='file', parent_id='TREE_ROOT-12345678-12345678')
287
294
    """
288
295
    def __init__(self, root_id=ROOT_ID):
289
296
        """Create or read an inventory.
371
378
 
372
379
        >>> inv = Inventory()
373
380
        >>> inv.add(InventoryEntry('123', 'foo.c', 'file', ROOT_ID))
 
381
        InventoryEntry('123', 'foo.c', kind='file', parent_id='TREE_ROOT')
374
382
        >>> '123' in inv
375
383
        True
376
384
        >>> '456' in inv
384
392
 
385
393
        >>> inv = Inventory()
386
394
        >>> inv.add(InventoryEntry('123123', 'hello.c', 'file', ROOT_ID))
 
395
        InventoryEntry('123123', 'hello.c', kind='file', parent_id='TREE_ROOT')
387
396
        >>> inv['123123'].name
388
397
        'hello.c'
389
398
        """
425
434
 
426
435
        self._byid[entry.file_id] = entry
427
436
        parent.children[entry.name] = entry
 
437
        return entry
428
438
 
429
439
 
430
440
    def add_path(self, relpath, kind, file_id=None):
455
465
 
456
466
        >>> inv = Inventory()
457
467
        >>> inv.add(InventoryEntry('123', 'foo.c', 'file', ROOT_ID))
 
468
        InventoryEntry('123', 'foo.c', kind='file', parent_id='TREE_ROOT')
458
469
        >>> '123' in inv
459
470
        True
460
471
        >>> del inv['123']
494
505
        
495
506
        >>> inv = Inventory()
496
507
        >>> inv.add(InventoryEntry('foo.c-123981239', 'foo.c', 'file', ROOT_ID))
 
508
        InventoryEntry('foo.c-123981239', 'foo.c', kind='file', parent_id='TREE_ROOT')
497
509
        >>> elt = inv.to_element()
498
510
        >>> inv2 = Inventory.from_element(elt)
499
511
        >>> inv2 == inv
521
533
        >>> i1 == i2
522
534
        True
523
535
        >>> i1.add(InventoryEntry('123', 'foo', 'file', ROOT_ID))
 
536
        InventoryEntry('123', 'foo', kind='file', parent_id='TREE_ROOT')
524
537
        >>> i1 == i2
525
538
        False
526
539
        >>> i2.add(InventoryEntry('123', 'foo', 'file', ROOT_ID))
 
540
        InventoryEntry('123', 'foo', kind='file', parent_id='TREE_ROOT')
527
541
        >>> i1 == i2
528
542
        True
529
543
        """