\documentclass{article}
\usepackage{ulem}
\usepackage{graphicx}
\usepackage{hyperref}
\pagestyle{headings}
\begin{document}
\part{Developer Checkouts}
Developer checkouts are a special setup intended for Horde developers.<br />
A developer checkout will contain all mainstream and alpha applications, libraries etc directly from git.<br />
A special helper tool git-tools is used for managing the large number of git repos.<br />
The developer setup consists of two different hierarchies: The git checkout and the web-readable tree.<br />
The git checkout is a directory containing all Horde libraries (capital letters) and applications (lower case letters) as seen on github.<br />
The web readable tree is a re-arranged structure of symlinks to simulate what would be seen in a pear installation.

This allows combining original, bleeding edge or downstream patched components in desired combinations.

If you are rather looking for a simple setup, try PEAR or composer.

\section{Creating a Developer Checkout}
\subsection{Getting and installing the git helper}
<pre><code>
mkdir /srv/git/git-tools
git clone https://github.com/horde/git-tools.git
cd git-tools
composer install
cd config
cp conf.php.dist conf.php
</code></pre>
Edit the config file before creating a developer checkout.

\subsection{Creating a runnable Horde git master installation}
<pre><code>
\#\# check out repos outside webroot
/srv/git/horde/git-tools/bin/horde-git-tools git clone
\#\# build a webroot tree
/srv/git/horde/git-tools/bin/horde-git-tools dev install
</code></pre>
\section{Creating an own module}
<pre><code>
/srv/git/horde/git-tools/bin/horde-git-tools dev new --author "John Doe <doe@doe.org>" --app-name "doesmatter"
</code></pre>
Creates a new app from skeleton.

\section{Working with a developer checkout}
\subsection{Refresh your checkout}
<pre><code>
/srv/git/horde/git-tools/bin/horde-git-tools git pull
</code></pre>
Perform a git pull --rebase on all checkouts.

\subsection{Change your complete checkout to a certain framework version}
<pre><code>
/srv/git/horde/git-tools/bin/horde-git-tools checkout BRANCH\_NAME
</code></pre>
\subsection{How To Maintain Versions}
\subsection{How to run unit tests}
Run only unit tests

<pre><code>
/srv/git/horde/git-tools/bin/horde-git-tools components /path/to/component qc unit
</code></pre>
Or run the whole quality check suite

<pre><code>
/srv/git/horde/git-tools/bin/horde-git-tools components /path/to/component qc unit
</code></pre>
\section{ready made installations}
\subsection{Docker}
\subsection{Vagrant}
\end{document}
