Bug with dirstate and many renames?

John Arbash Meinel john at arbash-meinel.com
Fri Sep 21 18:57:29 BST 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Alexander Belchenko wrote:
> I got this error again in another tree:
> 
> G:\work\emulator\port.dev>python E:\Bazaar\mydev\bzr.dev\bzr --no-plugins -Derror ci setup.py
> Committing revision 16 to "G:/work/emulator/port.dev/".
> modified setup.py
> bzr: ERROR: bzrlib.errors.BzrError: parent_id {srccommon-20070917092202-l6ae75sysw93dazj-1} not in
> inventory
> 


^- This looks like a long-standing bug we've had with partial commits.
Sometimes we reach the child before we've seen the parent.

IIRC we fixed this by using "iter_entries_by_dir()" instead of
"iter_entries()" because the former makes sure you go in parent => child
order.

However, I'm guessing that if you do something weird (like renaming a
parent into a child) then it might still fail.

For example:

  bzr init
  bzr mkdir a
  bzr mkdir a/b
  bzr commit -m "a/b"
  bzr mv a/b b
  bzr mv a b/a

Now, I wasn't able to get it to break by doing that, but maybe it would
point you in the direction of the problem.

John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG9AYJJdeBCYSNAAMRAnplAJ9aamyPmJB1or2BB9jEzHJVquwbkACfe7Ra
ihQyM7CGNy1Trdh0ogUatz4=
=FGYX
-----END PGP SIGNATURE-----



More information about the bazaar mailing list