Export conflicts happen whenever two repos export different trees to the same special remote.

Some conflicts that seem trivial currently involve unnecessary unexporting and re-uploading in their resolution.

For example, if A exports a tree containing [foo], and B exports a tree containing [foo, bar], bar gets unexported when resolving the conflict.

Bear in mind that A could have first exported a tree containing [foo, bar] then B exported a tree containing [foo, bar], and then A exported [foo], so unexported bar.

So, if one exported tree is a subset of the other, it's not necessary to unexport files added by the other tree. It's sufficient to check that files are present in the export and upload any that are missing. --Joey

I proved this is not a safe optimisation, so wontfix --Joey