Rework fix for #bea/8fc# : be crashes on outdated id-cache
authorW. Trevor King <wking@drexel.edu>
Mon, 25 Jan 2010 12:54:37 +0000 (07:54 -0500)
committerW. Trevor King <wking@drexel.edu>
Mon, 25 Jan 2010 12:54:37 +0000 (07:54 -0500)
commit9518e1a98e642175a2de74a8d6e54126b9399210
treeb4032c74b2d2f55d6657df4b157978c10426068e
parenta87dde3eab86554f0ff70fb53d142ca7bca28b55
Rework fix for #bea/8fc# : be crashes on outdated id-cache

Now we re-run CachedPathID.init in an 'append' mode, rather than
starting over from scratch.  This avoids problems like

  ======================================================================
  ERROR: Should not be able to add children to non-directories.
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File ".../be.wtk/libbe/storage/base.py", line 680, in test_add_invalid_directory
      self.s.add('child', 'parent', directory=False)
    File ".../be.wtk/libbe/storage/base.py", line 248, in add
      self._add(id, *args, **kwargs)
    File ".../be.wtk/libbe/storage/vcs/base.py", line 737, in _add
      path = self._cached_path_id.add_id(id, parent)
    File ".../be.wtk/libbe/storage/vcs/base.py", line 267, in add_id
      parent_path = self.path(parent, relpath=True)
    File ".../be.wtk/libbe/storage/vcs/base.py", line 246, in path
      raise InvalidID(uuid)
  InvalidID: parent in revision None

and similar.
libbe/storage/vcs/base.py