Comment 7 for bug 588060

Revision history for this message
Robert Collins (lifeless) wrote :

(Sorry for all the comment spam, trying to capture everything relevant).

That fileid is the original fileid, which we would expect as rename tracking isn't in use at this point.

And its definitely blowing up on the tar, not later.

(Pdb) print file_ids_from[0].path2id('testtools/utils.py')
utils.py-20100622232940-0binq278qxebanch-1

So the new id is known.

(Pdb) print removed.difference(added)
set([])
(Pdb) print added.difference(removed)
set(['.bzrignore', 'testtools/tests/test_compat.py', 'testtools/compat.py'])

I wonder perhaps if the file-id-from code is effectively moving utils by assigning the file id to compat.py?

yes - this is the issue:

(Pdb) self._duplicate_ids()
[('duplicate id', 'new-33', 'new-35')]

There is a duplicate file id conflict occuring. What we want to do in this case, I think, is to make use of the tree we're importing from, and get a delta from that to start with.

I'm going to unblock myself right now by hacking around this in this tree (adding a rename call at the top :)), but I think there is enough info in this bug to write an automated test now, and to reason about how to fix it.