\psset{griddots=0,gridlabels=8pt,subgriddiv=5} \psset{xunit=10mm,yunit=10mm} \begin{pspicture}(12,10) % \psgrid \newcommand{\clr}{black} % phases \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](0,2)(12,2) \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](0,8)(12,8) \rput{0}(1.5,2){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\clr} \psset{framearc=.5} \psframebox{\textcolor{\clr}{code freeze}} } \psline[linewidth=1pt,linecolor=\clr]{<->}(11.5,2)(11.5,8) \rput{90}(11.5,5){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\clr} \psset{framearc=.5} \psframebox{\textcolor{\clr}{release phase}} } % master \newcommand{\masterx}{10} \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\masterx,1)(\masterx,9) \psset{fillcolor=\clr} \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,2) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,8) \rput(\masterx,0.5){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\clr} \psset{framearc=.5} \psframebox{\textcolor{\clr}{master}} } % feature/anti_osc \renewcommand{\clr}{RedOrange} \newcommand{\featurex}{8} \psline[linewidth=2pt,linecolor=\clr](\masterx,2)(\featurex,3) \psline[linewidth=2pt,linecolor=\clr](\featurex,3)(\featurex,7) \psline[linewidth=2pt,linecolor=\clr,linestyle=dashed,arrowsize=15pt]{->}(\featurex,7)(\masterx,8) \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\featurex,2)(\featurex,8) \multido{\nA=3+2}{3}{ \psset{fillcolor=\clr} \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\featurex,\nA) } \rput(\featurex,1.5){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\clr} \psset{framearc=.5} \psframebox{\textcolor{\clr}{release/NAR\_C0}} } \newcommand{\rccolor}{Blue} \psset{fillcolor=\rccolor} \psdot[dotsize=5pt,dotstyle=o,linecolor=\rccolor](\masterx,2) \psdot[dotsize=5pt,dotstyle=o,linecolor=\rccolor](\featurex,3) \psdot[dotsize=5pt,dotstyle=o,linecolor=\rccolor](\featurex,5) \psline[linewidth=1pt,linecolor=\rccolor,arrowsize=10pt]{->}(\masterx,2)(5.7,2.8) \psline[linewidth=1pt,linecolor=\rccolor,arrowsize=10pt]{->}(\featurex,3)(5.7,4.6) \psline[linewidth=1pt,linecolor=\rccolor,arrowsize=10pt]{->}(\featurex,5)(5.7,6.6) \rput(3,3){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\rccolor} \psset{framearc=.5} \psframebox{\textcolor{\rccolor}{deploy: release candidate 1}} } \rput(3,5){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\rccolor} \psset{framearc=.5} \psframebox{\textcolor{\rccolor}{deploy: release candidate 2}} } \rput(3,7){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\rccolor} \psset{framearc=.5} \psframebox{\textcolor{\rccolor}{deploy: release candidate 3}} } \newcommand{\rcolor}{ForestGreen} \psset{fillcolor=\rcolor} \psdot[dotsize=5pt,dotstyle=o,linecolor=\rcolor](\featurex,7) \psline[linewidth=1pt,linecolor=\rcolor,arrowsize=10pt]{->}(\featurex,7)(4.6,8.6) \rput(3,9){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\rcolor} \psset{framearc=.5} \psframebox{\textcolor{\rcolor}{deploy: release}} } \end{pspicture}