Push for Code Review
--------------------

  git push origin HEAD:refs/for/master

[graphviz]
----
digraph {
  // commit graph left
  node [style=bold, shape=circle, color="#385d8a", fontname=arial, fontsize=18]
  edge [style=bold, color="#385d8a", arrowhead=none]
  C -> B [weight=0]
  B -> A

  // branch pointers
  edge [arrowhead=normal]
  node [shape=box, style=filled, fillcolor=lightgrey, color=black]
  HEAD [fillcolor="#555555", fontcolor=white]
  master [label="origin/master", fillcolor=lightskyblue]

  { rank=same; HEAD; feature; C }
  feature -> C [weight=0]
  HEAD -> feature [weight=0]

  { rank=same; master; B }
  master -> B [weight=0]

  // graph name
  local [label="local repo", style=none, color=none]
  A -> local [style=invis]

  // formatting
  I [style=invis]
  I -> B [style=invis]
  I -> C [style=invis]
  { rank=same; I; C }

  // the "push" arrow
  node [style=invis]
  L -> R [label="push", style=dotted, penwidth=2, arrowhead=vee,
          color=red, fontname=arial, fontsize=30]

  // commit graph right
  node [style=bold, shape=circle, color="#385d8a", fontname=arial, fontsize=18]
  edge [style=bold, color="#385d8a", arrowhead=none]
  A1 [label="A"]
  B1 [label="B"]
  C1 [label="C"]
  C1 -> B1 [weight=0]
  B1 -> A1

  // branch pointers
  edge [arrowhead=normal]
  node [shape=box, style=filled, fillcolor=lightgrey, color=black]
  master1 [label="master"]
  { rank=same; master1; B1}
  master1 -> B1 [weight=0]

  // change pointers
  { rank=same; change; C1}
  change [label="refs/changes/35/135/1", fillcolor=gold]
  C1 -> change [dir=back]

  // graph name
  remote [label="Gerrit hosted 'origin' repo\n\nOn push an open change\nin the Gerrit DB is created.", shape=box, style=none, color=none]
  A1 -> remote [style=invis]

  // formatting
  I1 [style=invis]
  I1 -> B1 [style=invis]
  I1 -> C1 [style=invis]
  { rank=same; I1; C1 }

  // align left, right and arrow graph
  { rank=same; A; A1; L; R }

  // spacing in between the left and right graph
  node [style=invis, shape=box]
  edge [style=invis]
  { rank=same; master; space}
  space [label="some space here"]
  space -> master [weight=0]

  { rank=same; HEAD; space2 }
  space2 [label="spaace"]
  space2 -> HEAD [weight=0]
}
----
