Crash on subtree where child dir used to be a peer and was copied with mods
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar Subversion Plugin |
Fix Released
|
Medium
|
Jelmer Vernooij |
Bug Description
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.
Traceback (most recent call last):
File "/usr/lib/
return run_bzr(argv)
File "/usr/lib/
ret = run(*run_argv)
File "/usr/lib/
return self.run(
File "/usr/lib/
tree = WorkingTree.
File "/usr/lib/
return control.
File "/usr/lib/
return SvnWorkingTree(
File "/usr/lib/
self.base_tree = SvnBasisTree(self)
File "/usr/lib/
workingtree
File "/usr/lib/
return self.fileid_
File "/usr/lib/
self.
File "/usr/lib/
delta[p] = map[p][0]
KeyError: 'linux_
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/
bzrtools /usr/lib/
cvsps_import /usr/lib/
gtk /usr/lib/
launchpad /usr/lib/
loom /usr/lib/
rebase /usr/lib/
search /usr/lib/
stats /usr/lib/
svn /usr/lib/
upload /usr/lib/
*** Bazaar has encountered an internal error.
Please report a bug at https:/
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/
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.
description: | updated |
Changed in bzr-svn: | |
status: | Triaged → Fix Released |
Changed in bzr-svn: | |
assignee: | nobody → Jelmer Vernooij (jelmer) |
Is this a public repository and is it reproducible ?
Does the repository contain any revisions pushed using bzr-svn?