Developer Checkouts Developer checkouts are a special setup intended for Horde developers. A developer checkout will contain all mainstream and alpha applications, libraries etc directly from git. A special helper tool git-tools is used for managing the large number of git repos. The developer setup consists of two different hierarchies: The git checkout and the web-readable tree. The git checkout is a directory containing all Horde libraries (capital letters) and applications (lower case letters) as seen on github. 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. Creating a Developer Checkout Getting and installing the git helper 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 Edit the config file before creating a developer checkout. Creating a runnable Horde git master installation ## 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 Creating an own module /srv/git/horde/git-tools/bin/horde-git-tools dev new --author "John Doe " --app-name "doesmatter" Creates a new app from skeleton. Working with a developer checkout Refresh your checkout /srv/git/horde/git-tools/bin/horde-git-tools git pull Perform a git pull --rebase on all checkouts. Change your complete checkout to a certain framework version /srv/git/horde/git-tools/bin/horde-git-tools checkout BRANCH_NAME How To Maintain Versions How to run unit tests Run only unit tests /srv/git/horde/git-tools/bin/horde-git-tools components /path/to/component qc unit Or run the whole quality check suite /srv/git/horde/git-tools/bin/horde-git-tools components /path/to/component qc unit ready made installations Docker Vagrant