Comment 4 for bug 460702

Revision history for this message
John A Meinel (jameinel) wrote : Re: [Bug 460702] Re: bzr 2.0.1 breaks fastimport into non-chk repositories

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

...

>> File "/home/ian/Projects/bzr/bzr/2.0/bzrlib/inventory.py", line 1187, in apply_delta
>> "New id is already present in target.")
>> InconsistentDelta: An inconsistent delta was supplied involving '', 'TREE_ROOT'
>> reason: New id is already present in target.
>>
>
> fastimport was providing a delta with TREE_ROOT already in it which is
> correct for CHK repositories but not earlier ones. It had some
> conditional processing deciding what to do based on whether
> "create_by_apply_delta" existed. You added a method called that to
> Inventory as part of the work to speed up "bzr log DIR", breaking my
> logic. The fix was to change fastimport to test using "isinstance"
> instead of "hasattr".
>
> Ian C.
>

This hints to me that we have something broken internally. We should
either always or never allow a given delta. Can you open a bug
specifically about this? Hopefully with at least some detail. I wouldn't
be surprised to find the tree root special cased in several locations
(such as 'WT.add()' automatically adds the tree root if it doesn't
exist, but I believe that isn't true with MemoryTree...)

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

iEYEARECAAYFAkrlJNIACgkQJdeBCYSNAAMw7gCgxVCo2+l758tbB4NOKgnZu1FG
IacAoK43z+RbV32Zl0URbH2/6ZqDvv0T
=EXVI
-----END PGP SIGNATURE-----