[cvs] [Wiki] changed: Doc/Dev
Ben Klang
ben at alkaloid.net
Thu Jun 4 13:25:28 UTC 2009
bklang Thu, 04 Jun 2009 09:25:28 -0400
Modified page: http://wiki.horde.org/Doc/Dev
New Revision: 1.52
Change log: Add H4 mini-FAQ
@@ -38,4 +38,53 @@
* ((Doc/Dev/DAV|WebDAV/GroupDAV/CalDAV Documentation))
* ((Doc/Dev/Benchmarks))
* [http://cvs.horde.org/dimp/docs/dev/?sa=1 DIMP Development Documentation]
* ((Doc/Dev/CopyrightLicense|Copyright and license stuff))
+
+++ Mini-FAQ for Horde 4 development
+
+**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. We'll figure this out as we work on Horde 4, to some
extent, but my expectation is that we will all push commits 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:** Some of this is still being worked out, and these instruction
might change as development moves forward, but the current suggestion
is:
+
+* Update/pull most recent changes into the various repositories
+* Use the horde-fw-symlinks.php script to link the various framework
libraries to your include directory.
+
+<code>
+horde-fw-symlinks.php --src /var/www/html/horde/framework --dest
/var/www/pear
+horde-fw-symlinks.php --src /usr/local/githorde/framework --dest
/var/www/pear
+horde-fw-symlinks.php --src /usr/local/horde-hatchery/framework
--dest /var/www/pear
+</code>
+
+* Note that if your filesystem is NOT case sensitive (i.e. HFS+ on
the Mac) then you will need to have two separate include directories -
one for the CVS framework libraries and one for the Git framework
libraries. You will need to make sure to put the Git include directory
first in your include_path.
+
+<code>
+horde-fw-symlinks.php --src /var/www/html/horde/framework --dest
/var/www/pear
+horde-fw-symlinks.php --src /usr/local/githorde/framework --dest
/var/www/gitpear
+horde-fw-symlinks.php --src /usr/local/horde-hatchery/framework
--dest /var/www/gitpear
+</code>
+
+* For the actual Horde applications that have been moved to Git,
there are a few options. You could either copy the application
directory back and forth from your /horde directory, you could try to
use a joint CVS/Git source tree, or you can symlink the application
into your horde/ directory. Both methods have drawbacks. Issues with
the first are obvious - you need to pull, copy, code, copy, push
etc... The issue with second method is that you will either get lots
of warnings about files that aren't tracked, or you could try to
manage an ignore list for both CVS and Git. If you use a symlink, you
will need to create a file base.local.php in the application's lib/
directory - and define your HORDE_BASE in that file.
+
+**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:
+
+<code>
+cvs -d:pserver:cvs.horde.org:/repository checkout horde framework
+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
+pear install framework/devtools/package.xml
+cd horde
+mkdir libs
+horde-fw-symlinks.php
+horde-fw-symlinks.php --src ../horde-git/framework
+horde-fw-symlinks.php --src ../horde-hatchery/framework
+echo "<?php ini_set('include_path', dirname(__FILE__) . '/../libs' .
PATH_SEPARATOR . ini_get('include_path'));" > lib/core.local.php
+</code>
+
+Then continue with the installation steps in docs/INSTALL.
More information about the cvs
mailing list