Okay, I've got a reproduction recipe. This happens when a directory is moved with simultaneous modifications from being a peer to being a child. Here we go. There are still a couple print lines in update_map that I've left in just to better see what is failing. $ mkdir /tmp/bzr-svn-304134 $ cd /tmp/bzr-svn-304134 $ svnadmin create svn-repos $ svn co file://`pwd`/svn-repos svn-co $ cd svn-co/ $ svn mkdir subdir1 subdir2 A subdir1 A subdir2 $ cd subdir1 $ touch file1 file2 $ svn add * A file1 A file2 $ cd .. $ cd subdir2/ $ touch file3 file4 $ svn add * A file3 A file4 $ cd .. $ svn commit -m "Initial tree." Adding subdir1 Adding subdir1/file1 Adding subdir1/file2 Adding subdir2 Adding subdir2/file3 Adding subdir2/file4 Transmitting file data ....cd Committed revision 1. $ cd subdir1/ $ svn mkdir subdir3 A subdir3 $ touch subdir3/file5 $ touch subdir3/file6 $ svn add subdir3/* A subdir3/file5 A subdir3/file6 $ svn commit -m "More files." Adding subdir1/subdir3 Adding subdir1/subdir3/file5 Adding subdir1/subdir3/file6 Transmitting file data .. Committed revision 2. $ cd .. $ ls subdir1 subdir2 $ cd subdir2/ $ vi file3 # add a line $ vi file4 # add a line $ touch file7 $ svn add file7 A file7 $ svn ps svn:executable true file4 property 'svn:executable' set on 'file4' $ svn status M file3 MM file4 A file7 $ cd .. $ svn status M subdir2/file3 MM subdir2/file4 A subdir2/file7 $ svn mv subdir2/ subdir1/ A subdir1/subdir2 D subdir2/file3 D subdir2/file4 D subdir2/file7 D subdir2 $ svn status A + subdir1/subdir2 M + subdir1/subdir2/file3 MM + subdir1/subdir2/file4 A + subdir1/subdir2/file7 D subdir2 D subdir2/file3 D subdir2/file4 $ svn commit -m "Directory move with modifications." Adding subdir1/subdir2 Sending subdir1/subdir2/file3 Sending subdir1/subdir2/file4 Adding subdir1/subdir2/file7 Deleting subdir2 Transmitting file data ... Committed revision 3. $ ls subdir1 $ svn up At revision 3. $ bzr up Initialising Subversion metadata cache in /home/wjlanda/.bazaar/svn-cache/5ba257ea-9eb4-402c-af49-55ecc81b2ba0 revid = svn-v4:5ba257ea-9eb4-402c-af49-55ecc81b2ba0::0 delta = {u'': '0@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:%2F'} update_map top revid = svn-v4:5ba257ea-9eb4-402c-af49-55ecc81b2ba0::1 delta = {u'subdir2': '1@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:%2Fsubdir2', u'subdir1': '1@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:%2Fsubdir1', u'subdir2/file3': '1@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:%2Fsubdir2%2Ffile3', u'subdir2/file4': '1@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:%2Fsubdir2%2Ffile4', u'subdir1/file2': '1@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:%2Fsubdir1%2Ffile2', u'subdir1/file1': '1@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:%2Fsubdir1%2Ffile1'} update_map top revid = svn-v4:5ba257ea-9eb4-402c-af49-55ecc81b2ba0::2 delta = {u'subdir1/subdir3': '2@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:%2Fsubdir1%2Fsubdir3', u'subdir1/subdir3/file5': '2@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:%2Fsubdir1%2Fsubdir3%2Ffile5', u'subdir1/subdir3/file6': '2@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:%2Fsubdir1%2Fsubdir3%2Ffile6'} update_map top revid = svn-v4:5ba257ea-9eb4-402c-af49-55ecc81b2ba0::3 delta = {u'subdir1/subdir2/file4': '3@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:%2Fsubdir1%2Fsubdir2%2Ffile4', u'subdir1/subdir2': '3@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:%2Fsubdir1%2Fsubdir2', u'subdir1/subdir2/file7': '3@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:%2Fsubdir1%2Fsubdir2%2Ffile7', u'subdir2': None, u'subdir1/subdir2/file3': '3@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:%2Fsubdir1%2Fsubdir2%2Ffile3'} Tree is up to date at revision 4. $ cd subdir1/ $ bzr up update_map top revid = svn-v4:5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1:1 delta = {u'': '1@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1%2F', u'file2': '1@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1%2Ffile2', u'file1': '1@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1%2Ffile1'} update_map top revid = svn-v4:5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1:2 delta = {u'subdir3': '2@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1%2Fsubdir3', u'subdir3/file6': '2@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1%2Fsubdir3%2Ffile6', u'subdir3/file5': '2@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1%2Fsubdir3%2Ffile5'} update_map top revid = svn-v4:5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1:3 delta = {u'subdir2': '3@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1%2Fsubdir2', u'subdir2/file7': '3@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1%2Fsubdir2%2Ffile7'} -------------------------------- in update_map: -------------------------------- map = {u'': ('1@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1%2F', 'svn-v4:5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1:1'), u'file2': ('1@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1%2Ffile2', 'svn-v4:5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1:1'), u'file1': ('1@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1%2Ffile1', 'svn-v4:5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1:1'), u'subdir3': ('2@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1%2Fsubdir3', 'svn-v4:5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1:2'), u'subdir3/file5': ('2@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1%2Fsubdir3%2Ffile5', 'svn-v4:5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1:2'), u'subdir3/file6': ('2@5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1%2Fsubdir3%2Ffile6', 'svn-v4:5ba257ea-9eb4-402c-af49-55ecc81b2ba0:subdir1:2')} -------------------------------- p = subdir2/file3 -------------------------------- bzr: ERROR: exceptions.KeyError: 'subdir2/file3' Traceback (most recent call last): File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 893, in run_bzr_catch_errors return run_bzr(argv) File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 839, in run_bzr ret = run(*run_argv) File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 539, in run_argv_aliases return self.run(**all_cmd_args) File "/usr/lib/python2.5/site-packages/bzrlib/builtins.py", line 1127, in run tree = WorkingTree.open_containing(dir)[0] File "/usr/lib/python2.5/site-packages/bzrlib/workingtree.py", line 327, in open_containing return control.open_workingtree(), relpath File "/home/wjlanda/.bazaar/plugins/svn/workingtree.py", line 815, in open_workingtree return SvnWorkingTree(self, self.local_path, self.open_branch()) File "/home/wjlanda/.bazaar/plugins/svn/workingtree.py", line 113, in __init__ self._update_base_revnum(max_rev) File "/home/wjlanda/.bazaar/plugins/svn/workingtree.py", line 541, in _update_base_revnum self.read_working_inventory() File "/home/wjlanda/.bazaar/plugins/svn/workingtree.py", line 412, in read_working_inventory add_dir_to_inv(u"", rootwc, None) File "/home/wjlanda/.bazaar/plugins/svn/workingtree.py", line 374, in add_dir_to_inv (id, revid) = find_ids(entry, rootwc) File "/home/wjlanda/.bazaar/plugins/svn/workingtree.py", line 351, in find_ids relpath) File "/home/wjlanda/.bazaar/plugins/svn/workingtree.py", line 278, in path_to_file_id entry = self.basis_tree().id_map[rp.decode("utf-8")] File "/home/wjlanda/.bazaar/plugins/svn/workingtree.py", line 533, in basis_tree self.base_tree = SvnBasisTree(self) File "/home/wjlanda/.bazaar/plugins/svn/tree.py", line 232, in __init__ workingtree.branch.mapping) File "/home/wjlanda/.bazaar/plugins/svn/repository.py", line 432, in get_fileid_map return self.fileid_map.get_map(revmeta.get_foreign_revid(), mapping) File "/home/wjlanda/.bazaar/plugins/svn/fileids.py", line 314, in get_map self.actual.update_map(map, revid, idmap, changes) File "/home/wjlanda/.bazaar/plugins/svn/fileids.py", line 209, in update_map print 'map[p] =', map[p] KeyError: 'subdir2/file3' bzr 1.10 on python 2.5.2 (linux2) arguments: ['/usr/bin/bzr', 'up'] encoding: 'UTF-8', fsenc: 'UTF-8', lang: 'en_US.UTF-8' plugins: bzrtools /usr/lib/python2.5/site-packages/bzrlib/plugins/bzrtools [1.10] cvsps_import /usr/lib/python2.5/site-packages/bzrlib/plugins/cvsps_import [unknown] gtk /usr/lib/python2.5/site-packages/bzrlib/plugins/gtk [0.96.0.dev.1] launchpad /usr/lib/python2.5/site-packages/bzrlib/plugins/launchpad [unknown] loom /usr/lib/python2.5/site-packages/bzrlib/plugins/loom [1.4dev] rebase /usr/lib/python2.5/site-packages/bzrlib/plugins/rebase [0.3] search /usr/lib/python2.5/site-packages/bzrlib/plugins/search [1.6.0.dev.3] stats /usr/lib/python2.5/site-packages/bzrlib/plugins/stats [unknown] svn /home/wjlanda/.bazaar/plugins/svn [0.5.0.rc.1] upload /usr/lib/python2.5/site-packages/bzrlib/plugins/upload [0.1] *** Bazaar has encountered an internal error. Please report a bug at https://bugs.launchpad.net/bzr/+filebug including this traceback, and a description of what you were doing when the error occurred. I'm also attaching the example tree in case it's helpful.