Comment 3 for bug 93681

Revision history for this message
Björn Tillenius (bjornt) wrote : Re: [Bug 93681] Re: AssertionError in dirstate.py when committing with bzr 0.15.0candidate2

On Mon, Mar 19, 2007 at 04:41:49PM -0000, John A Meinel wrote:
> I haven't been able to replicate this locally, though I did find a
> different bug.

I tried some more, and I did manage to reproduce it now, using the
following commands:

bettan:/tmp> bzr init foo
bettan:/tmp> cd foo/
bettan:/tmp/foo> mkdir dir
bettan:/tmp/foo> echo foo > dir/file
bettan:/tmp/foo> bzr add
added dir
added dir/file
bettan:/tmp/foo> bzr commit -m "add dir/file"
added dir
added dir/file
Committed revision 1.

bettan:/tmp/foo> cd ..
bettan:/tmp> bzr branch foo/ bar
Branched 1 revision(s).
bettan:/tmp> cd foo/
bettan:/tmp/foo> bzr rm dir/file
bettan:/tmp/foo> bzr rm dir
bettan:/tmp/foo> bzr commit -m "remove dir/file"
deleted dir
deleted dir/file
Committed revision 2.

bettan:/tmp/foo> cd ../bar/
bettan:/tmp/bar> echo bar > dir/file
bettan:/tmp/bar> bzr commit -m "modify dir/file"
modified dir/file
Committed revision 2.

bettan:/tmp/bar> bzr merge ../foo/
RM dir/file => dir/file.THIS
Conflict: can't delete dir because it is not empty. Not deleting.
Conflict because dir is not versioned, but has versioned children. Versioned directory.
Contents conflict in dir/file
3 conflicts encountered.
bettan:/tmp/bar> rm -r dir
bettan:/tmp/bar> bzr resolved dir
bettan:/tmp/bar> bzr resolved dir/file
bettan:/tmp/bar> bzr commit -m "merge foo"
missing dir
bzr: ERROR: exceptions.AssertionError:

Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 650, in run_bzr_catch_errors
    return run_bzr(argv)
  File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 612, in run_bzr
    ret = run(*run_argv)
  File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 304, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib/python2.4/site-packages/bzrlib/builtins.py", line 2119, in run
    reporter=reporter)
  File "/usr/lib/python2.4/site-packages/bzrlib/decorators.py", line 165, in write_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.4/site-packages/bzrlib/workingtree_4.py", line 238, in commit
    result = WorkingTree3.commit(self, message, revprops, *args, **kwargs)
  File "/usr/lib/python2.4/site-packages/bzrlib/decorators.py", line 165, in write_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.4/site-packages/bzrlib/mutabletree.py", line 160, in commit
    revprops=revprops, *args, **kwargs)
  File "/usr/lib/python2.4/site-packages/bzrlib/commit.py", line 318, in commit
    self._remove_deleted()
  File "/usr/lib/python2.4/site-packages/bzrlib/commit.py", line 581, in _remove_deleted
    self.work_tree.unversion(deleted_ids)
  File "/usr/lib/python2.4/site-packages/bzrlib/mutabletree.py", line 38, in tree_write_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.4/site-packages/bzrlib/workingtree_4.py", line 1167, in unversion
    if not state._make_absent(block[1][entry_index]):
  File "/usr/lib/python2.4/site-packages/bzrlib/dirstate.py", line 2055, in _make_absent
    assert update_tree_details[0][0] != 'a' # absent
AssertionError

bzr 0.15.0candidate2 on python 2.4.4.candidate.1 (linux2)
arguments: ['/usr/bin/bzr', 'commit', '-m', 'merge foo']

** please send this report to <email address hidden>
bettan:/tmp/bar>