The only way I found to reproduce this bug so far it by issuing:
bzr resolve --all
in a tree containing (among other test conflicts) Contents conflicts.
gcommit then receives non-sensical entries from iter_changes() where both kind are None, which I read as a file which was not versioned and is now not versioned, which by definition shouldn't appear in the output of iter_changes()...
The only way I found to reproduce this bug so far it by issuing:
bzr resolve --all
in a tree containing (among other test conflicts) Contents conflicts.
gcommit then receives non-sensical entries from iter_changes() where both kind are None, which I read as a file which was not versioned and is now not versioned, which by definition shouldn't appear in the output of iter_changes()...
Investigation continues.