qdiff: refresh of working tree diff crashes if branch tip has changed.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QBzr |
Confirmed
|
Medium
|
Unassigned |
Bug Description
I was using bzr explorer to compare the difference between working copy and trunk. I used emacs for version control M-x v v and C-c C-c to commit change. Then I hit refresh in bzr explore and got this error
OS Ubuntu 10.04
bzr 2.1.1
python 2.6.5
traceback, user name replaced with 'user':
bzr: ERROR: exceptions.
Traceback (most recent call last):
File "/usr/lib/
run_
File "/usr/lib/
f(*args, **kargs)
File "/usr/lib/
executable) in sorted(changes, key=changes_key):
File "/usr/lib/
specific_
File "/usr/lib/
result = unbound(self, *args, **kwargs)
File "/usr/lib/
return self.inventory.
File "/usr/lib/
self.
File "/usr/lib/
self.
AssertionError: parent <email address hidden> has disappeared from ['user@
bzr 2.1.1 on python 2.6.5 (linux2)
arguments: ['/usr/bin/bzr', 'qdiff']
encoding: 'UTF-8', fsenc: 'UTF-8', lang: 'en_US.UTF-8'
plugins:
bzrtools /usr/lib/
explorer /usr/lib/
launchpad /usr/lib/
netrc_
news_merge /usr/lib/
qbzr /usr/lib/
description: | updated |
summary: |
- assertion error in bzr-explorer after using M-x vv to commit in emacs + qdiff: refresh of working tree diff crashes if branch tip has changed. |
Changed in qbzr: | |
importance: | Undecided → Medium |
status: | New → Confirmed |
That's weird. Can you reproduce this with "bzr diff"? If so it suggests that somehow your local working tree's metadata is inconsistent with the revision in the repository.
If you can only reproduce this via bzr explorer then it may be a bug in how qbzr generates diffs, rather than core bzr. (If so it might be nice to improve bzrlib to make it harder to misuse bzrlib's APIs, or at least give clearer errors when this sort of misuse happens, but I'm not sure how feasible that would be in this case.)