[dev] [commits] Horde-Hatchery branch master updated. d3fcd5cdd11ada51d44c03fccd529ba9beed543d
Michael M Slusarz
slusarz at horde.org
Wed Jan 6 06:27:39 UTC 2010
Quoting Jan Schneider <jan at horde.org>:
> Zitat von Michael M Slusarz <slusarz at horde.org>:
>
>> Jumping in late here...
>>
>> Quoting Chuck Hagenbuch <chuck at horde.org>:
>>
>> Most important, both the horde core and framework need to live in
>> the same repo. When fixing bugs in an application, often the fix
>> is actually in a framework lib, or a horde core component, or a
>> combo of all three locations. This commit message should be a
>> single standalone item so we can point to a single commit message
>> as solving a single bug report.
>
> That's a good point, and it's actually also a reason to not have a
> separate hatchery at all. If we only had one single repository for
> all application and framework code, we don't have any problems with
> commits spanning two repositories. And there shouldn't be a problem
> with merging hatchery to horde-git either.
> Did I really say that? :) I still would prefer having one repo per
> application, but I'm giving in that this really isn't feasible with
> Git atm.
Quoting Jan Schneider <jan at horde.org>:
>> Most important, both the horde core and framework need to live in
>> the same repo. When fixing bugs in an application, often the fix
>> is actually in a framework lib, or a horde core component, or a
>> combo of all three locations. This commit message should be a
>> single standalone item so we can point to a single commit message
>> as solving a single bug report.
>
> That's a good point, and it's actually also a reason to not have a
> separate hatchery at all. If we only had one single repository for
> all application and framework code, we don't have any problems with
> commits spanning two repositories. And there shouldn't be a problem
> with merging hatchery to horde-git either.
> Did I really say that? :) I still would prefer having one repo per
> application, but I'm giving in that this really isn't feasible with
> Git atm.
I've been playing around with this, and here's what I've come up with
to combine horde-git and horde-hatchery:
1. Go to horde-git:master. Make sure it is updated.
2. Do 'git checkout -b tmp 5d259f069ca8c31700d5431a595d2e3b5d961ea9'
This creates a temporary branch and sets HEAD to right before IMP was
imported.
3. Do 'git fetch <path to horde-hatchery> master:hatchery' <path to
horde-hatchery> can be the filepath to the hatchery repo on the local
machine. This pulls in all of hatchery's history to horde-git.
4. Do 'git merge <path to horde-hatchery>' There will be at least one
conflict that needs to be resolved (.gitignore).
5. Do 'git merge master'. This should merge all changes done to
horde-git after 12/23/2009 (when IMP was added). There will be at
least two conflicts that need to be resolved (.gitattributes/.gitignore)
6. Now 'tmp' contains the full, combined history of horde-git and
horde-hatchery.
>> I've discussed the issue with Mike R. on IRC, but I think that due
>> to technical limitations the idea of being able to check out code
>> from git and directly serve it via the web is dead. Instead, you
>> have to make one of two choices:
>>
>> 1. If your source checkout lives in a non web-accessible location
>> (probably a good idea from a security standpoint), or you want to
>> serve applications below the horde base, the
>> framework/bin/install_dev script is available to do this. It has
>> the disadvantage of requiring it to be rerun if the base horde
>> structure changes at all (e.g. a scriptname changes), but that
>> shouldn't happen all that often.
>
> There's also the option to introduce package.xml files for
> applications rather now than later. It's the mid-term goal anyway to
> install Horde apps through PEAR/Pyrus. That would also help with
> upgrading, dependencies, etc.
> If we did this, we could also resurrect horde-fw-symlink for developers.
This sounds like a worthy goal.
>> 2. If you want to directly serve a source repo, you have to be
>> resigned to the fact that applications won't live under 'horde'
>> anymore. But configuring this setup is easy enough - you just need
>> to alter the locations in horde/config/registry.php.
>
> Is it really that easy? Unfortunately there all still those
> define('HORDE_BASE') calls on the code.
This should not be an issue. If an application does not live under
the horde/ directory, HORDE_BASE needs to be defined in
config/horde.local.php. But that's it.
> I see the main reasons for having all horde apps under the horde/
> directory being the groupware bundles and maintainability. We can't
> provide groupware tarballs that extract to multiple directories and
> files in the current directory, so we need a common parent directory
> anyway. And for administrators it's helpful to have a single horde
> directory to backup, move around and rename for testing, upgrading,
> staging etc.
That's perfectly fine. We can package the groupware and/or apps
however we want to.
> OTOH separate directories for horde and the apps better map to the
> repository layout, simplify scripts like make-release.php and
> translation.php (though maybe not, since we still need to merge
> horde and application translations) and is more compatible with
> distribution packages.
>
> Any ideas how to solve the cons of one solution or the other? Are
> there more pros and cons that I am missing? Any other opinions about
> this? I think we should decide this pretty quick.
I need to think about this a bit more. Does PEAR/Pyrus provide any
help in this regard (e.g. once horde is installed, can PEAR/Pyrus
automatically determine/generate the necessary file path configuration)?
michael
--
___________________________________
Michael Slusarz [slusarz at horde.org]
More information about the dev
mailing list