Q: Are we going to keep the existing development model where we have a "master" server (i.e. cvs.horde.org) where we will build the releases? For our workflow, that seems to make the most sense - since we don't have a "master" user that checks all commits before integrating.
A: Yes. All HEAD commits are pushed to dev.horde.org:/horde/git/horde (or horde-hatchery, etc.), and we'll use branches to do local dev or to coordinate non-mainline work.
Q: How do I combine the CVS and Git trees so I can test/develop current Horde 4 code?
A: The current suggestion is:
horde-fw-symlinks.php --src [Location of horde-git]/framework --dest [A PHP include directory] horde-fw-symlinks.php --src [Location of horde-hatchery]/framework --dest [A PHP include directory] horde-fw-symlinks.php --src [Location of horde CVS HEAD]/framework --dest [A PHP include directory]
horde-fw-symlinks.php --src [Location of horde-git]/framework --dest [A PHP include directory] horde-fw-symlinks.php --src [Location of horde-hatchery]/framework --dest [A PHP include directory] horde-fw-symlinks.php --src [Location of horde CVS HEAD]/framework --dest [A second PHP include directory]
<?php define('HORDE_BASE', '[Full filesystem path to horde]');
Q: How do I start from scratch with a git/cvs head install
A: These steps only work on case sensitive file systems, see above:
Note that if this is the first time you've dealt with our framework libraries, you will need to discover our PEAR server before proceeding with the steps below:
pear channel-discover pear.horde.org
export CVSROOT=:pserver:cvsread@anoncvs.horde.org:/repository cvs login (password is 'horde') cvs checkout -dP horde git clone --depth 1 git://dev.horde.org/horde/git/horde horde-git git clone --depth 1 git://dev.horde.org/horde/git/horde-hatchery cd horde cvs checkout framework pear install -f framework/devtools/package.xml mkdir libs echo "<?php ini_set('include_path', dirname(__FILE__) . '/../libs' . PATH_SEPARATOR . ini_get('include_path'));" > lib/core.local.php horde-fw-symlinks.php --src ../horde-git/framework horde-fw-symlinks.php --src ../horde-hatchery/framework horde-fw-symlinks.php
Then continue with the installation steps in docs/INSTALL.
After some time has passed you will want to update your working copy from the Horde servers. These commands will do that. The commands are to be executed from the base of the Horde installation (the directory created by the CVS checkout):
cvs update -dP cd ../horde-git && git pull --rebase cd ../horde-hatchery && git pull --rebase # Now we have to refresh the Framework library symlinks: cd ../horde rm -rf libs/* horde-fw-symlinks.php --src ../horde-git/framework horde-fw-symlinks.php --src ../horde-hatchery/framework horde-fw-symlinks.php
Q: Why does the sidebar not collapse/Why can't I switch tabs on the config screen/Why do certain links not work?
A: Make sure your 'jsfs' and 'jsuri' entries in horde/config/registry.php are correct. They are actually no needed anymore at all, unless you really know what you are doing. Applications no longer come shipped with javascript source files in js/src - they all live directly under js/ now.