[dev] Horde 5?

Gunnar Wrobel wrobel at horde.org
Tue Feb 28 19:20:52 UTC 2012


Zitat von Vilius ?umskas <vilius at lnk.lt>:

> Sveiki,
>
> Tuesday, February 28, 2012, 7:37:42 PM, you wrote:
>
>
>> Quoting Vilius ?umskas <vilius at lnk.lt>:
>
>>> Sveiki,
>>>
>>> Tuesday, February 28, 2012, 4:54:33 PM, you wrote:
>>>
>>>
>>>> Quoting Michael M Slusarz <slusarz at horde.org>:
>>>
>>>>> So I can wait for git reorganization, under the condition that we
>>>>> need to fix branch naming/organization.  Horde 5 needs to be split
>>>>> to a topic branch immediately before releasing the initial version,
>>>>> and we need to use master for bleeding-edge development going forward.
>>>
>>>> I'm confused as to why it matters what we call the branch we do
>>>> bleeding-edge development in? "master" is just a name, as is "develop"
>>>> for that matter. There is nothing magical about the "master" branch.
>>>> What am I missing?
>>>
>>> I  think  Michael  M means that master by default points to HEAD.
>>> You  can  change  master  to  point to whatever you want though.
>
>> That's exactly my point though, there is nothing that says that
>> "master" has to be special in anyway.
>
>
>>> Not  as  my  vote  counts here,  but I think Michael's suggestion to branch
>>> stable  release  is  logical. At least it has a proven track record in
>>> Fedora   development.  What  Fedora  does  is  they  do development in
>>> "master"  development unstable branch (or  "develop",  or  whatever you
>>> wanna call it). After planning and major development ends they branch
>>> out   "next_stable_release"   from   "master".  Then  they  do all the
>>> alpha,     beta     and     RC     releases   in "next_stable_release"
>>> branch.  After  the  release,  all the bugfixes and minor features are
>>> applied  back to "next_stable_release" from "master". This way you end
>>> up  with  branches  for  every  major  release,  but that is not a big
>>> problem.  You  can  actually delete old unsupported branches if needed
>>> and still have all the log from master branch.
>
>> The original issue that Michael is trying to solve (if I am
>> understanding correctly) is conflicts caused by merging changes from
>> one branch to another...and possibly having to merge those branches
>> back again. Regardless of what we call the branches, the same problem
>> will still exist. Bug fixes in whatever branch we commit them to will
>> still need to be merged back to the current development branch.
>
> I'm not git export but logically  I  think  there are three cases:
>
> 1) bug fixes should be done on most up to date
> development   branch   and   only  then  backported to stable by using
> cherry-picking, not the merge.
>
> 2) if a bugfix becomes a major feature or a BC breaking change,
> then it should not be backported to stable at all.
>
> 3)  minor  features  that  from the start are aimed to go into stable,
> should   be  started on stable and later merged to development branch.
> Or  better  yet,  start it on topic branch and merge it to both stable
> and dev branges.
>
>>> Again, I know that my vote doesn't count here,
>
>> Opinions/viewpoints are always valuable :)
>
>>> but personally me would
>>> be  against spliting repository for every application or/and framework
>>> library.  Usually  I  do  only  minor bug fixes, it would be a pain to
>>> keep  50 or more repositories up to date in development environment,
>>> because all Horde components are interconnected and you cannot develop
>>> and test if one of them is outdated.
>
>> While I, too, am somewhat opposed to splitting the repo, I have to
>> disagree with some of your reasoning. We are striving to make our
>> components atomic. In fact, most of our framework libraries ARE
>> actually usable as stand-alone components, and do not require a
>> traditional horde install to work. That is one of the arguments for
>> splitting the framework libraries - to make them appear more atomic
>> and to relieve a developer from the chore of having to install the
>> whole horde stack if he/she wants to help develop the code for a
>> single library.
>
> Yes,  most of the libraries doesn't require a whole horde install, but
> still  they  need  other libraries usually. At least Horde_Autoloader,
> Horde_Exception,  Horde_Translation  and a few others. I don't see how
> splitting  the  repository  would help here. Quite the opposite. Let's
> say I want to work on Horde_View. For splitted repository I would have
> to  actually know the dependency list and grab repositories one by one
> for 5-7 libraries.
>
> Or  let's say I would want to work on a new Horde application.  
> Again, I would have
> to  actually  know  all  the  features  I  want  to  implement  in new
> application  in  advance,  clone  all needed libraries one by one, and
> update them later during development.
>
> At  least  for  me  cloning one repository is a lot easier. Especially
> when  git  is so great with big repositories and considering speed of
> the internet nowaways.

This is a question of having the right tools for the job. Given the  
toolset we currently use you are of course right. That wouldn't make  
any sense and is way to cumbersome.

But other PHP frameworks are doing exactly the same thing: they start  
to split their software into components. This makes reuse a lot  
easier. Developers can choose the best parts from the frameworks they  
like. And having clearly delineated interfaces between your modules  
help the development in general.

One of the results from Symfony 2 is the "composer" tool: It is  
specifically designed for this "many-git-repositories" situation. They  
try to use it as package manager in general and I'm still skeptical if  
that will really work out. But for the development situation it may  
actually help.

We have our own "components" tool which is also targeting the  
component based development and release management. I would also add  
stuff we are missing there.

So all in all I would say we can split if there is no impediment of  
the development process.

Which - btw - is an unlikely result if we'd try to squeeze it in  
before Horde 5.0. So while I'd like to split I'm definitely in favor  
of doing that during a somewhat more quiet period.

Cheers,

Gunnar

>
> --
> Best regards,
>  Vilius
>
> --
> Horde developers mailing list
> Frequently Asked Questions: http://horde.org/faq/
> To unsubscribe, mail: dev-unsubscribe at lists.horde.org

-- 
Core Developer
The Horde Project

e: wrobel at horde.org
t: +49 700 6245 0000
w: http://www.horde.org

pgp: 9703 43BE
tweets: http://twitter.com/pardus_de
blog: http://log.pardus.de




More information about the dev mailing list