Here is a simple way to reproduce this issue:

  bzr init-repo --format=2a .
  mkdir a
  bzr init a
  cd a
  touch f1
  bzr add f1
  bzr commit -m "commit 1"
  touch f2
  echo foo >>f1
  bzr add f2
  bzr commit -m "commit 2"
  cd ..
  bzr branch -r1 a b
  cd b
  bzr log -rrevid:$(cd ../a && bzr log -r2 --show-ids | perl -nle 
's/revision-id: // && print')

(That last line just grabs the revision id of revision 2 in branch b, then
attempts a `bzr log -rrevid:xxx` for that revision in branch a).

The output is this:

bzr: failed to report crash using apport:
     OSError(13, 'Permission denied')
bzr: ERROR: bzrlib.errors.NoSuchRevision: BzrBranch7(file:///tmp/x/b/) has no 
revision kniel...@knielsen-hq.org-20101209114110-hyit08hnb21guvsk

Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 912, in 
exception_to_return_code
    return the_callable(*args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 1112, in 
run_bzr
    ret = run(*run_argv)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 690, in 
run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 705, in run
    return self._operation.run_simple(*args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/cleanup.py", line 135, in 
run_simple
    self.cleanups, self.func, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/cleanup.py", line 165, in 
_do_with_cleanups
    result = func(*args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 1127, in 
ignore_pipe
    result = func(*args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/builtins.py", line 2417, in run
    Logger(b, rqst).show(lf)
  File "/usr/lib/python2.5/site-packages/bzrlib/log.py", line 343, in show
    self._show_body(lf)
  File "/usr/lib/python2.5/site-packages/bzrlib/log.py", line 367, in _show_body
    for lr in generator.iter_log_revisions():
  File "/usr/lib/python2.5/site-packages/bzrlib/log.py", line 404, in 
iter_log_revisions
    revision_iterator = self._create_log_revision_iterator()
  File "/usr/lib/python2.5/site-packages/bzrlib/log.py", line 450, in 
_create_log_revision_iterator
    return self._log_revision_iterator_using_delta_matching()
  File "/usr/lib/python2.5/site-packages/bzrlib/log.py", line 472, in 
_log_revision_iterator_using_delta_matching
    exclude_common_ancestry=rqst.get('exclude_common_ancestry'))
  File "/usr/lib/python2.5/site-packages/bzrlib/log.py", line 522, in 
_calc_view_revisions
    br_revno)
  File "/usr/lib/python2.5/site-packages/bzrlib/log.py", line 543, in 
_generate_one_revision
    revno = branch.revision_id_to_dotted_revno(rev_id)
  File "/usr/lib/python2.5/site-packages/bzrlib/decorators.py", line 140, in 
read_locked
    result = unbound(self, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/branch.py", line 365, in 
revision_id_to_dotted_revno
    return self._do_revision_id_to_dotted_revno(revision_id)
  File "/usr/lib/python2.5/site-packages/bzrlib/branch.py", line 385, in 
_do_revision_id_to_dotted_revno
    raise errors.NoSuchRevision(self, revision_id)
NoSuchRevision: BzrBranch7(file:///tmp/x/b/) has no revision 
kniel...@knielsen-hq.org-20101209114110-hyit08hnb21guvsk

bzr 2.2.2 on python 2.5.2 (Linux-2.6.36.1-kn-x86_64-with-debian-lenny-sid)
arguments: ['/usr/bin/bzr', 'log', 
'-rrevid:kniel...@knielsen-hq.org-20101209114110-hyit08hnb21guvsk']
encoding: 'UTF-8', fsenc: 'UTF-8', lang: 'en_DK.UTF-8'
plugins:
  bash_completion      
/usr/lib/python2.5/site-packages/bzrlib/plugins/bash_completion [2.2.2]
  bzr_merge_into       /home/knielsen/.bazaar/plugins/bzr_merge_into [unknown]
  bzrtools             /usr/lib/python2.5/site-packages/bzrlib/plugins/bzrtools 
[2.2.0]
  email                /home/knielsen/.bazaar/plugins/email [unknown]
  gtk                  /usr/lib/python2.5/site-packages/bzrlib/plugins/gtk 
[0.99.0]
  launchpad            
/usr/lib/python2.5/site-packages/bzrlib/plugins/launchpad [2.2.2]
  netrc_credential_store 
/usr/lib/python2.5/site-packages/bzrlib/plugins/netrc_credential_store [2.2.2]
  news_merge           
/usr/lib/python2.5/site-packages/bzrlib/plugins/news_merge [2.2.2]
  rewrite              /home/knielsen/.bazaar/plugins/rewrite [0.6.2dev]

*** Bazaar has encountered an internal error.  This probably indicates a
    bug in Bazaar.  You can help us fix it by filing a bug report at
        https://bugs.launchpad.net/bzr/+filebug
    including this traceback and a description of the problem.

On the other hand, asking for a random non-existing revision-id produces a
sane error message:

  bzr log -rrevid:foobar
  bzr: ERROR: Requested revision: 'revid:foobar' does not exist in branch: 
BzrBranch7(file:///tmp/x/b/)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/671795

Title:
  bzr crashed with NoSuchRevision in _do_revision_id_to_dotted_revno()

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to