Bug with dirstate and many renames?

Alexander Belchenko bialix at ukr.net
Mon Sep 10 10:29:24 BST 2007


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

Today I got bad error:
bzr: ERROR: bzrlib.errors.BzrError: parent_id
{ukf9b3auudwtbpi6qpr-20061114124456-x4u4xp6bzgaxl3uv-1} not in inventory

In my working tree I did many renames and some file was modified.
I want to commit only part of changes:

G:\branch\dddd\gggg\bbbb>python E:/Bazaar/mydev/bzr.dev/bzr -Derror ci hhhh
Committing revision 639 to "G:/branch/".
renamed dddd/gggg/ssss/UK-f9B3aUuDWtbPi6qpr/baaa/hhhh => dddd/gggg/bbbb/hhhh
modified dddd/gggg/bbbb/hhhh/1.test
modified dddd/gggg/bbbb/hhhh/2.test
modified dddd/gggg/bbbb/hhhh/3.test
bzr: ERROR: bzrlib.errors.BzrError: parent_id
{ukf9b3auudwtbpi6qpr-20061114124456-x4u4xp6bzgaxl3uv-1} not in inventory

Traceback (most recent call last):
  File "E:\Bazaar\mydev\bzr.dev\bzrlib\commands.py", line 800, in run_bzr_catch_errors
    return run_bzr(argv)
  File "E:\Bazaar\mydev\bzr.dev\bzrlib\commands.py", line 758, in run_bzr
    ret = run(*run_argv)
  File "E:\Bazaar\mydev\bzr.dev\bzrlib\commands.py", line 492, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "E:\Bazaar\plugins-repo\commit_selector\__init__.py", line 93, in run
    builtins.cmd_commit.run(self, selected_list=selected_list, **kw)
  File "E:\Bazaar\mydev\bzr.dev\bzrlib\builtins.py", line 2320, in run
    author=author)
  File "E:\Bazaar\mydev\bzr.dev\bzrlib\decorators.py", line 165, in write_locked
    return unbound(self, *args, **kwargs)
  File "E:\Bazaar\mydev\bzr.dev\bzrlib\workingtree_4.py", line 248, in commit
    result = WorkingTree3.commit(self, message, revprops, *args, **kwargs)
  File "E:\Bazaar\mydev\bzr.dev\bzrlib\decorators.py", line 165, in write_locked
    return unbound(self, *args, **kwargs)
  File "E:\Bazaar\mydev\bzr.dev\bzrlib\mutabletree.py", line 211, in commit
    revprops=revprops, *args, **kwargs)
  File "E:\Bazaar\mydev\bzr.dev\bzrlib\commit.py", line 321, in commit
    self._update_builder_with_changes()
  File "E:\Bazaar\mydev\bzr.dev\bzrlib\commit.py", line 653, in _update_builder_with_changes
    self._populate_from_inventory(specific_files)
  File "E:\Bazaar\mydev\bzr.dev\bzrlib\commit.py", line 725, in _populate_from_inventory
    parent_id, definitely_changed, existing_ie)
  File "E:\Bazaar\mydev\bzr.dev\bzrlib\commit.py", line 776, in _record_entry
    path, self.work_tree)
  File "E:\Bazaar\mydev\bzr.dev\bzrlib\repository.py", line 2222, in record_entry_contents
    self.new_inventory.add(ie)
  File "E:\Bazaar\mydev\bzr.dev\bzrlib\inventory.py", line 1180, in add
    raise BzrError("parent_id {%s} not in inventory" %
BzrError: parent_id {ukf9b3auudwtbpi6qpr-20061114124456-x4u4xp6bzgaxl3uv-1} not in inventory

bzr 0.91.0dev0 on python 2.4.4.final.0 (win32)
arguments: ['E:/Bazaar/mydev/bzr.dev/bzr', '-Derror', 'ci', 'hhhh']


Mentioned directory with id from error message actually present in .bzr/checkout/dirstate file.

The same error with bzr 0.18 and 0.90.

If I do full commit then no errors occurred.
I can't reproduce this problem with simple example.

[µ]

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG5Q50zYr338mxwCURAjq3AJwItIK3L5YrSJzg1aJ5jy5jtzm8dwCggWSg
iFgNCUYKXLU6Vo6hlUZJgvQ=
=uWR8
-----END PGP SIGNATURE-----



More information about the bazaar mailing list