merge: respect parents order when using graft on a merge, this time for real
potherp1 is a boolean variable that means "pother is ctx.p1", and parents is
naturally [ctx.p1, ctx.p2].
pctx is always removed from parents, so if pctx is parents, then we end up
using parents as pother. To be true to its name, potherp1 should then be
True only when pctx is at parents.