Comment 3 for bug 192859

Revision history for this message
Martin Pool (mbp) wrote :

This can be reproduced in 2.3.0dev with

mbp@lithe% ls -o
total 0
lrwxrwxrwx 1 mbp 1 2010-07-15 11:54 a -> c
mbp@lithe% bzr st
mbp@lithe% mkdir c
mbp@lithe% bzr
mbp@lithe% touch c/d
mbp@lithe% bzr add c
adding c
adding c/d
mbp@lithe% bzr rm --keep c/d
removed c/d
mbp@lithe% bzr add a/d
adding a/d
bzr: ERROR: exceptions.AttributeError: children

Traceback (most recent call last):
  File "/home/mbp/bzr/trunk/bzrlib/commands.py", line 911, in exception_to_return_code
    return the_callable(*args, **kwargs)
  File "/home/mbp/bzr/trunk/bzrlib/commands.py", line 1111, in run_bzr
    ret = run(*run_argv)
  File "/home/mbp/bzr/trunk/bzrlib/commands.py", line 689, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/home/mbp/bzr/trunk/bzrlib/commands.py", line 704, in run
    return self._operation.run_simple(*args, **kwargs)
  File "/home/mbp/bzr/trunk/bzrlib/cleanup.py", line 135, in run_simple
    self.cleanups, self.func, *args, **kwargs)
  File "/home/mbp/bzr/trunk/bzrlib/cleanup.py", line 165, in _do_with_cleanups
    result = func(*args, **kwargs)
  File "/home/mbp/bzr/trunk/bzrlib/builtins.py", line 690, in run
    no_recurse, action=action, save=not dry_run)
  File "/home/mbp/bzr/trunk/bzrlib/mutabletree.py", line 49, in tree_write_locked
    return unbound(self, *args, **kwargs)
  File "/home/mbp/bzr/trunk/bzrlib/mutabletree.py", line 440, in smart_add
    added.extend(_add_one_and_parent(self, inv, None, rf, kind, action))
  File "/home/mbp/bzr/trunk/bzrlib/mutabletree.py", line 704, in _add_one_and_parent
    _add_one(tree, inv, parent_ie, path, kind, action)
  File "/home/mbp/bzr/trunk/bzrlib/mutabletree.py", line 721, in _add_one
    inv.add(entry)
  File "/home/mbp/bzr/trunk/bzrlib/inventory.py", line 1301, in add
    if entry.name in parent.children:
AttributeError: children

(working on a minimum reproduction)