Comment 6 for bug 427773

Revision history for this message
Gary van der Merwe (garyvdm) wrote : Re: [Bug 427773] Re: empty limbo dirs prevents to successful execution of bzr commands and left working tree locked

This is easy to reproduce.

Steps to reproduce: in a branch that has some revisions:
cd .bzr/checkout
mkdir limbo
cd ../../
bzr pull . -r -2 --overwrite
bzr: ERROR: This tree contains left-over files from a failed operation.
    Please examine D:/test/.bzr/checkout/limbo to see if it contains
any files you wish to
    keep, and delete it when you are done.
rm .bzr/checkout/limbo -r
bzr pull . -r -2 --overwrite
Unable to obtain lock file:///D:/test/.bzr/branch/lock
held by <email address hidden> on host epsilon [process #2492]
locked 5 seconds ago
Will continue to try until 14:25:00, unless you press Ctrl-C
If you're sure that it's not being modified, use bzr break-lock
file:///D:/test/.bzr/branch/lock
bzr: interrupted

Here is the .bzr.log entry for the first bzr pull:

Fri 2009-09-11 14:19:54 +0200
0.079 bzr arguments: [u'pull', u'-r', u'-2', u'--overwrite']
0.094 looking for plugins in D:\My Documents\bzr-plugins
0.219 looking for plugins in C:/Program Files/Bazaar/plugins
0.219 Plugin name qbzr already loaded
0.266 encoding stdout as sys.stdout encoding 'cp437'
0.313 opening working tree 'D:/test'
0.438 Traceback (most recent call last):
  File "bzrlib\commands.pyo", line 835, in exception_to_return_code
  File "bzrlib\commands.pyo", line 1030, in run_bzr
  File "bzrlib\commands.pyo", line 647, in run_argv_aliases
  File "bzrlib\builtins.pyo", line 1022, in run
  File "bzrlib\decorators.pyo", line 192, in write_locked
  File "bzrlib\workingtree.pyo", line 1626, in pull
  File "bzrlib\merge.pyo", line 1536, in merge_inner
  File "bzrlib\merge.pyo", line 508, in do_merge
  File "bzrlib\merge.pyo", line 480, in _do_merge_to
  File "bzrlib\merge.pyo", line 616, in do_merge
  File "bzrlib\transform.pyo", line 1298, in __init__
ExistingLimbo: This tree contains left-over files from a failed operation.
    Please examine D:/test/.bzr/checkout/limbo to see if it contains
any files you wish to
    keep, and delete it when you are done.

0.438 return code 3

I think that the real bug is that the branch is left locked. This is
odd, because bzrlib.tests.test_transform.TestTreeTransform.test_existing_limbo
specifically checks that it is not left locked.