bzr-git is caching RevisionTree's. These trees are not modified in any way after they have been retrieved by bzr-git in any way, other than that their inventory is passed into create_inventory_by_delta.
However, when using a 1.9-rich-root format the inventories seem to change under the hood - when getting a RevisionTree out of the cache after a while sometimes tree.inventory.revision_id no longer matches tree.get_revision_id().
bzr-git now has more appropriate checks for this in place.
I've just narrowed this down.
bzr-git is caching RevisionTree's. These trees are not modified in any way after they have been retrieved by bzr-git in any way, other than that their inventory is passed into create_ inventory_ by_delta.
However, when using a 1.9-rich-root format the inventories seem to change under the hood - when getting a RevisionTree out of the cache after a while sometimes tree.inventory. revision_ id no longer matches tree.get_ revision_ id().
bzr-git now has more appropriate checks for this in place.