[dev] Horde 4 Kickoff - Git migration and layout
Chuck Hagenbuch
chuck at horde.org
Mon Oct 20 20:53:00 UTC 2008
Horde developer community-
We're very close to kicking off real work on Horde 4. We have some
ambitious plans, but I think we're also better suited to do a great
release relatively quickly than we have been ever before.
The purpose of this thread is to discuss the new version control
layout. We have decided to move to Git for version control, with only
new code that is Horde 4-ready (still a somewhat fuzzy line) being
added to it. We will keep the existing CVS repository for all Horde
3.x releases, and for historical purposes. This avoids a complicated
conversion and lets us make something of a fresh start from 10 years
of repository cruft.
My proposal is that we will have two git repositories: A horde
repository, for the official Horde code, and a hatchery repository,
for new applications, misc. projects, sidelines, etc - things that are
currently in the incubator.
This way the main repository won't be cluttered with half-baked ideas,
but we can easily pull from the hatchery into the main repository when
something is being promoted, and by having a "hatching ground", we
don't create a barrier to entry for the repository that discourages us
from accepting new projects.
The layout of the hatchery would be like the current incubator - one
top-level directory per-project. The layout of the main horde
repository would be like current CVS, minus the incubator, and without
the requirement for a top-level horde/ directory in production. It is
likely that Horde 4 will be more divorced from the webroot, so I don't
anticipate this ending up as a problem.
It could be an open question how to handle the framework packages in
this structure. We could have individual directories for them,
possibly under a separate repository, or we could keep the current
framework/ module. If we keep the current module, we also can decide
to keep the separation between packages, or to put all of them in a
single horde-framework/ vendor-style directory, with one lib/
directory, one test/ directory, etc. That is appealing for simplicity,
but also would make it less obvious that packages are separately
developed and released. My default is to keep the current framework/
module.
Anyone have an improvement on this structure?
-chuck
More information about the dev
mailing list