[dev] [commits] Horde branch FRAMEWORK_5_0 updated. 450bba25ab112a31ff062869971d780fd011f8f5

Jan Schneider jan at horde.org
Wed Apr 17 09:56:31 UTC 2013


Zitat von Michael J Rubinsky <mrubinsk at horde.org>:

> Quoting Michael M Slusarz <slusarz at horde.org>:
>
>> Quoting Michael J Rubinsky <mrubinsk at horde.org>:
>>
>>> Quoting Michael M Slusarz <slusarz at horde.org>:
>>>
>>>> Quoting "Michael J. Rubinsky" <mrubinsk at horde.org>:
>>>>
>>>>> commit 70a25e2194fc5e790cebf3c18491d2a319b70395
>>>>> Author: Michael J Rubinsky <mrubinsk at horde.org>
>>>>> Date:   Tue Apr 16 16:54:29 2013 -0400
>>>>>
>>>>> Bug: 12185 Fix bad cherry-pick.
>>>>>
>>>>> Horde_ActiveSync_Device is not present in FRAMEWORK_5_0
>>>>>
>>>>> framework/ActiveSync/lib/Horde/ActiveSync/Connector/Importer.php  
>>>>> |    3 +--
>>>>> 1 files changed, 1 insertions(+), 2 deletions(-)
>>>>>
>>>>> http://git.horde.org/horde-git/-/commit/70a25e2194fc5e790cebf3c18491d2a319b70395
>>>>
>>>> My question is why are *ANY* framework commits being made to  
>>>> FRAMEWORK_5_0 at this time.  This doesn't make sense.  Framework  
>>>> code is not tied to 5.0 (or any other Horde version for that  
>>>> matter).
>>>
>>> Plus, framework code is absolutely tied to a Horde release in so  
>>> far as it needs to maintain BC withing a single major version. So,  
>>> how is any library, as it exists in FRAMEWORK_5_0, NOT tied to a  
>>> specific Horde release (Horde 5.x)?
>>
>> No it's not.  How is horde (the application) tied to any framework  
>> package version?  For example... Horde (the application) can run  
>> any version of Horde_Core 2.  We might release Horde_Core 2.99.99 4  
>> years from now with code stored in an "obsolete" branch.
>
> Right. So I would say that Horde (the application) is tied to  
> (major) version 2.x of Horde_Core. Your statement that framework  
> code is not tied to ANY horde version is incorrect.
>
>> The fact that framework code lives in the same repository as  
>> application code must not be confused with some sort of idea that  
>> those two codebases are somehow compatible.  Just because it *has*  
>> worked up to this point is irrelevant - that's mainly been done to  
>> ease development setup.  But from a theoretical standpoint, this is  
>> a misnomer.
>
> No. Major versions of FRAMEWORK_X libraries MUST be compatible with  
> version X of Horde. We can't make a BC break in any major library  
> version that is part of FRAMEWORK_X.
>
>
>> For example, I should (and want to) be able to release IMP 5.1 to  
>> work with Horde_Imap_Client 3.0.  But there is no need to force,  
>> for example, Horde 5.1 to use 3.0.
>
> Well, in my case there is. Horde 5.1 REQUIRES Horde_ActiveSync 2.4.0  
> as there are additions to the ActiveSync API that are being called  
> from Core. This is allowed in our model. Applications can requires  
> whatever arbitrary minor version of a framework library that it needs.
>
>> These are perfectly valid development decisions and sort of the  
>> whole reason why we are using PEAR packaging.
>
> Right, and making bug fix commits to current, most recent, stable  
> branch before the next minor version is complete doesn't go against  
> this statement.
>
>> Will this setup work running directly out of the git repo?  No.
>
> I say it should. There should be no reason that master (or  
> FRAMEWORK_X_Y) should not work directly from a checkout. We  
> absolutely should NOT be making any BC changes to code within a  
> branch that is not a new major version, at least not in our current  
> branching model.
>
>> That **SHOULD** be irrelevant.  The fact that it isn't proves that  
>> our current repository setup is wrong - we are being limited in  
>> what we can do by artificial boundaries.
>
> Whether this is true or not is irrelevant to the current discussion  
> though. Today, the branching model is what it is. Today, I want to  
> release a bug fix. I therefore have to deal with the repository  
> (along with whatever restrictions it may have) as it is *today* -  
> not how it would be in a perfect world.

I think Michael R. is right, but I also understand where the confusion  
comes from.

We actually had a topic branch for the new ActiveSync stuff, and if I  
hadn't merged it into master along with the *_*_1 branches, this whole  
discussion wouldn't exist.
Michael S. is right that this isn't *technically* coupled with the  
Horde 5.1 release, but as R. pointed out, it's still semantically  
coupled because of (loose) inter-dependencies and I agree it's a good  
idea to run the release process with beta testing of the AS 2.4.0  
version along with the Horde 5.1 beta testing.

-- 
Jan Schneider
The Horde Project
http://www.horde.org/



More information about the dev mailing list