2009-01-14 15:45:48 |
Wesley J. Landaker |
description |
I've reported a KeyError in a similar scenerio before, but this is failing differently, with a different checkout, and with a newer version of bzr.
This is with bzr 1.9 and bzr-svn 0.4.15 (both from intrepid packages).
I have a working svn checkout, but when I try to use bzr on it (even if I'm just doing update and it's already up-to-date), I get a KeyError.
$ bzr up
bzr: ERROR: exceptions.KeyError: 'linux_driver/xilinxDriver.c'
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 1126, 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 "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/workingtree.py", line 812, in open_workingtree
return SvnWorkingTree(self, self.local_path, self.open_branch())
File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/workingtree.py", line 98, in __init__
self.base_tree = SvnBasisTree(self)
File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/tree.py", line 231, in __init__
workingtree.branch.mapping)
File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/repository.py", line 400, in get_fileid_map
return self.fileid_map.get_map(self.uuid, revnum, path, mapping)
File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/fileids.py", line 294, in get_map
self.actual.update_map(map, revid, idmap, changes)
File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/fileids.py", line 191, in update_map
delta[p] = map[p][0]
KeyError: 'linux_driver/xilinxDriver.c'
bzr 1.9 on python 2.5.2 (linux2)
arguments: ['/usr/bin/bzr', 'up']
encoding: 'UTF-8', fsenc: 'UTF-8', lang: 'en_US.UTF-8'
plugins:
bisect /home/wjlanda/.bazaar/plugins/bisect [1.1.0pre0]
bzrtools /usr/lib/python2.5/site-packages/bzrlib/plugins/bzrtools [1.9.1]
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.0dev1]
launchpad /usr/lib/python2.5/site-packages/bzrlib/plugins/launchpad [unknown]
loom /usr/lib/python2.5/site-packages/bzrlib/plugins/loom [1.4.0dev0]
rebase /usr/lib/python2.5/site-packages/bzrlib/plugins/rebase [0.4.1]
search /usr/lib/python2.5/site-packages/bzrlib/plugins/search [1.6.0dev3]
stats /usr/lib/python2.5/site-packages/bzrlib/plugins/stats [unknown]
svn /usr/lib/python2.5/site-packages/bzrlib/plugins/svn [0.4.15dev0]
upload /usr/lib/python2.5/site-packages/bzrlib/plugins/upload [0.1.0]
*** 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.
The only helpful thing I can think of is that linux_driver/xilinxDriver.c does not currently exist with that name, as it was renamed 100-200 revisions ago.
If I use bzr-svn in the actual linux_driver directory that corresponds to this error message, it works fine. It also works fine in any other subdirectory of the directory in the same svn checkout where this is failing. So this seems to be some kind of corner case. |
UPDATE: This was titled "KeyError when updating lightweight bzr-svn checkout". I retitled it given the discoveries summarized in later comments. Essentially, bzr-svn isn't handling the case where you are working on a subtree that contains a directory that used to be a peer and was copied/moved with modifications.
Here is the simplest reproduction recipe from my last comment:
svnadmin create repos
svn co file://`pwd`/repos svn-wc
cd svn-wc/
svn mkdir parent
svn commit -m "Added parent."
svn mkdir peer
svn commit -m "Added peer"
echo "A" > peer/file
svn add peer/file
svn commit -m "Added file"
svn up
echo "B" > peer/file
svn mv peer/ parent/child
svn commit -m "Made peer a child, with mods."
svn up
bzr up # works
cd parent/
svn up
bzr up # crashes
- - - Original Report - - -
I've reported a KeyError in a similar scenerio before, but this is failing differently, with a different checkout, and with a newer version of bzr.
This is with bzr 1.9 and bzr-svn 0.4.15 (both from intrepid packages).
I have a working svn checkout, but when I try to use bzr on it (even if I'm just doing update and it's already up-to-date), I get a KeyError.
$ bzr up
bzr: ERROR: exceptions.KeyError: 'linux_driver/xilinxDriver.c'
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 1126, 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 "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/workingtree.py", line 812, in open_workingtree
return SvnWorkingTree(self, self.local_path, self.open_branch())
File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/workingtree.py", line 98, in __init__
self.base_tree = SvnBasisTree(self)
File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/tree.py", line 231, in __init__
workingtree.branch.mapping)
File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/repository.py", line 400, in get_fileid_map
return self.fileid_map.get_map(self.uuid, revnum, path, mapping)
File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/fileids.py", line 294, in get_map
self.actual.update_map(map, revid, idmap, changes)
File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/fileids.py", line 191, in update_map
delta[p] = map[p][0]
KeyError: 'linux_driver/xilinxDriver.c'
bzr 1.9 on python 2.5.2 (linux2)
arguments: ['/usr/bin/bzr', 'up']
encoding: 'UTF-8', fsenc: 'UTF-8', lang: 'en_US.UTF-8'
plugins:
bisect /home/wjlanda/.bazaar/plugins/bisect [1.1.0pre0]
bzrtools /usr/lib/python2.5/site-packages/bzrlib/plugins/bzrtools [1.9.1]
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.0dev1]
launchpad /usr/lib/python2.5/site-packages/bzrlib/plugins/launchpad [unknown]
loom /usr/lib/python2.5/site-packages/bzrlib/plugins/loom [1.4.0dev0]
rebase /usr/lib/python2.5/site-packages/bzrlib/plugins/rebase [0.4.1]
search /usr/lib/python2.5/site-packages/bzrlib/plugins/search [1.6.0dev3]
stats /usr/lib/python2.5/site-packages/bzrlib/plugins/stats [unknown]
svn /usr/lib/python2.5/site-packages/bzrlib/plugins/svn [0.4.15dev0]
upload /usr/lib/python2.5/site-packages/bzrlib/plugins/upload [0.1.0]
*** 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.
The only helpful thing I can think of is that linux_driver/xilinxDriver.c does not currently exist with that name, as it was renamed 100-200 revisions ago.
If I use bzr-svn in the actual linux_driver directory that corresponds to this error message, it works fine. It also works fine in any other subdirectory of the directory in the same svn checkout where this is failing. So this seems to be some kind of corner case. |
|