[dev] Horde 5?

Vilius Šumskas vilius at lnk.lt
Tue Feb 28 18:41:56 UTC 2012


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.

-- 
Best regards,
 Vilius



More information about the dev mailing list