In a genealogical tree "Wife" has four children with "Husband1" and later a "Husband2" with no children. With
\documentclass{standalone}
\usepackage[all]{genealogytree}
\begin{document}
\begin{genealogypicture}[
template=signpost,
]
child{
p{Husband1}
g{Wife}
c{Child1} c{Child2} c{Child3} c{Child4}
union{
p{Husband2}
}
}
\end{genealogypicture}
\end{document}
that is shown as
.
The edges are put on different heights to avoid clashing. I would prefer to have the edge to Husband2 to be above the other one instead to avoid having the edges cross. I can explicitly move the edge up, with
union[subtree={edges={yshift=+5mm}}]{
p{Husband2}
yielding
.
To get a good result I'd also need to lower the other edge. It seems like a clumsy workaround to undo the shifting work that is already done, so I wonder how I instead can tell genealogytree in what order I want the edges.
If I take Husband2 to be the "main" partner, and make a union node for Husband1 and the four children with
\documentclass{standalone}
\usepackage[all]{genealogytree}
\begin{document}
\begin{genealogypicture}[template=signpost]
child{
union{
p{Husband1}
c{Child1} c{Child2} c{Child3} c{Child4}
}
g{Wife}
p{Husband2}
}
\end{genealogypicture}
\end{document}
I get the edges in the height order I want, but other unnecessary crossings: 
(I'm using genealogytree 0.91 which is in texlive 2015.)

[pivot=child]for Child4. Then the edges won't cross, but genealogytree doesn't know about that and still does the shifting. Now with your answer I also know how to best undo that (by shifting 1.6667mm in the other direction) to get edges on the same level when they don't cross anyway. – pst Jul 12 '15 at 15:24