6.0.0-git
2024-07-27

Diff for Doc/Dev/GitTools between 3 and 4

+ 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

<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>
Edit the config file before creating a developer checkout.

+++ Creating a runnable Horde git master installation

<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>

++ Creating an own module

<code>
/srv/git/horde/git-tools/bin/horde-git-tools dev new --author "John Doe <doe@doe.org>" --app-name "doesmatter"
<code></code>

Creates a new app from skeleton.

++ Working with a developer checkout
+++ Refresh your checkout

<code>
/srv/git/horde/git-tools/bin/horde-git-tools git pull
</code>

Perform a git pull --rebase on all checkouts.

+++ Change your complete checkout to a certain framework version

<code>
/srv/git/horde/git-tools/bin/horde-git-tools checkout BRANCH_NAME
</code>

+++ How To Maintain Versions
+++ How to run unit tests

Run only unit tests
<code>
/srv/git/horde/git-tools/bin/horde-git-tools components /path/to/component qc unit
</code>

Or run the whole quality check suite

<code>
/srv/git/horde/git-tools/bin/horde-git-tools components /path/to/component qc unit
</code>

++ ready made installations
+++ Docker
+++ Vagrant