Patch Set 6: I would prefer that you didn't submit this; No score

I think we do not use the SynchronizeView API correctly here if we compare with another branch:
GitResourceVariantTreeSubscriber returns a baseTree and a remoteTree. As the baseTree we return the current Head. But the current Head is not the base for a three way compare in this case. Open the compare editor and select "Show ancestor pane": then the current Head is presented. This is wrong.

I think the correct way would be to calculate the common ancestor of the Head and the other branch and to set this as the base. We would then have the other branch as remote and the local resource as entities to compare.