%
% Release Branch diagram created by Murray Stokely
%
% $FreeBSD$
%
\documentclass[landscape]{letter}
\begin{document}
\thispagestyle{empty}
\setlength{\unitlength}{1cm}
% define x, y dimensions in units so 10cm x 10cm
\begin{picture}(15, 8.5)

\footnotesize
% Ovals and dashed boxes for the HEAD branch points.
\put(2,-1.5){\oval(2.5, 1)}
\put(.75,-0.5){\dashbox{0.2}(2.5, 1)}
\put(2, 5){\oval(2.5, 1)}
\put(.75, 6){\dashbox{0.2}(2.5, 1)}
\put(2, 8){\oval(2.5, 1)}
\put(.75, 9){\framebox(2.5, 1){3.0-RELEASE}}

% Label the HEAD branch
\put(0, 4){\tt \shortstack{H\\E\\A\\D}}
% Labels for the HEAD branch points.
\put(1,-1.5){5.0-RELEASE}
\put(1,0){5.0-CURRENT}
\put(1,5){4.0-RELEASE}
\put(1,6.5){4.0-CURRENT}
\put(1,8){3.1-RELEASE}
% Boxes for the 3.x releases
\put(3.75, 7.5){\framebox(1.25,1){3.2R}}
\put(5.5, 7.5){\framebox(1.25,1){3.3R}}
\put(7.25, 7.5){\framebox(1.25,1){3.4R}}
\put(9, 7.5){\framebox(1.25,1){3.5R}}
\put(10.75, 7.5){\framebox(1.25,1){3.5.1R}}
\put(12.5, 7.5){\dashbox{0.2}(2,1){3.X-STABLE}}
% Lines to connect the 3.x releases.
\multiput(3.25,8)(1.75,0){6}{\vector(1,0){.5}}

% Boxes for the 4.x releases
\put(3.5, 4.5){\framebox(1.25,1){4.1R}}
\put(5, 4.5){\framebox(1.25,1){4.1.1R}}
\put(5, 3.0){\framebox(1.25,1){4.2R}}
\put(6.5, 3.0){\framebox(1.25,1){4.3R}}
\put(8, 3.0){\framebox(1.25,1){4.4R}}
\put(8, 1.5){\framebox(1.25,1){4.5R}}
\put(9.5, 1.5){\framebox(1.25,1){4.6R}}
\put(9.5, 0){\framebox(1.25, 1){4.6.2R}}
\put(11, 1.5){\framebox(1.25,1){4.7R}}
\put(12.5, 1.5){\framebox(1.25,1){4.8R}}
\put(14, 1.5){\framebox(1.25,1){4.9R}}
\put(15.5, 1.5){\framebox(1.25,1){4.10R}}
\put(15.25, 0){\dashbox{0.2}(1.75, 1){\tt RELENG\_4\_10}}
\put(17, 1.5){\dashbox{0.2}(2,1){4.X-STABLE}}
% Lines to connect the 4.x releases.
\multiput(3.25,5)(1.5,0){2}{\vector(1,0){.25}}
\multiput(6.25,3.5)(1.5,0){2}{\vector(1,0){.25}}
\multiput(9.25,2)(1.5,0){6}{\vector(1,0){.25}}
\put(10.1,1.5){\vector(0,-1){.5}}
\put(8.6,3){\vector(0,-1){.5}}
\put(5.6,4.5){\vector(0,-1){.5}}
\put(16.1, 1.5){\vector(0,-1){.5}}

% Boxes for the 5.X releases
\put(3.75,-2){\framebox(1.25,1){5.1R}}
\put(5.5,-2){\framebox(1.25,1){5.2R}}
\put(5.5,-3.5){\framebox(1.25,1){5.2.1R}}
\put(5.35,-5){\dashbox{0.2}(1.6,1){\tt RELENG\_5\_2}}
\put(7.25,-2){\dashbox{0.2}(2.2,1){5.2-CURRENT}}
% Lines to connect the 5.X releases.
\multiput(3.25,-1.5)(1.75,0){3}{\vector(1,0){.5}}
\multiput(6.1,-3.5)(0,1.5){2}{\vector(0,-1){.5}}

% Lines to connect the HEAD branch points.
\multiput(2,6)(0, 1.5){4}{\vector(0,-1){.5}}
\put(2,4.5){\vector(0,-1){4}}
\put(2,-0.5){\vector(0,-1){.5}}

%% Now add some general labels
\put(8,9){\tt RELENG\_3 (3-STABLE branch)}
\put(8,6){\tt RELENG\_4 (4-STABLE branch)}

\end{picture}
\end{document}
