Graphviz: Horizontal alignment not working with backwards arrow
<p>I made the following graphic:</p>

<p><a href="https://i.stack.imgur.com/czIF3.png" rel="nofollow"><img src="https://i.stack.imgur.com/czIF3.png" alt="enter image description here"></a></p>

<p>I would like to add an additional arrow, pointing back from "remote repo" all the way to "working copy" (labelled with "git pull") and I would like to have that arrow ideally first going slightly down, then left, then up.</p>

<p>When I simply add an arrow to the code, the graphic ends up looking like this:</p>

<p><a href="https://i.stack.imgur.com/vvkWL.png" rel="nofollow"><img src="https://i.stack.imgur.com/vvkWL.png" alt="enter image description here"></a></p>

<p>And this is the code:</p>

<pre><code>digraph G {
    /* set direction of graph to be left--&gt;right */
    rankdir="LR";

    /* make boxes instead of ellipses */
    node [shape=box];

    /* should enforce nodes to be horizontally aligned */
    /* is not working, though... */
    rank=same;

    /* assign labels to nodes */
    wc [label="working copy"];
    id [label="index"];
    lr [label="local repo"];
    rr [label="remote repo"];

    wc -&gt; id [label="git add"];
    id -&gt; lr [label="git commit"];
    lr -&gt; rr [label="git push"];

    rr -&gt; wc [label="git pull"];
}
</code></pre>

<p><em>Question</em>: Why is the horizontal alignment broken and how to fix this ?</p>

<p><em>Follow-up question</em>: How to make an arrow pointing down, then left, then up ? (Or is the only way to do this using somehow invisible/fake nodes?)</p>