I suspect that Gregs objection is about branch overhead.
Adding a new archecture (almost) always means
increasing the surface area of the product.
Three axies (7 cases) come to mind in this case.
(there are probably more if you look)
1. Branch each archecture
2. IFDEF inline
3. Archetect the archecture dependent code into a set
of service routines, implemented for each archecture,
and let the build infrastructure select which
set to build and bind at build module assembly time.
4. A combination of any two of the above
5. All (1-3) of the above...
All have costs, as all increase surface area
in different dimensions.
1. you are forever after cross merging to keep
branches up to date. Factor this in with
other development branches, and bug fix branches.
The branch complexity can easily get out of hand
for many users.
2. It's ugly
3. Hard to abstract in an existing product.
Somewhat more complex build infrastructure.
4. hard to keep track of in developers minds..
5. Oh fun...
Advantages
1. clean code
2. don't have to deal with branching overhead.
3. clean code, clean design.
4. flexible
5. too flexible...
Your mileage *will* vary.
If your developers are only going to
do this for a short time, and then kill
the branch by merging back to the mainline
with IFDEFs, (a 1.-2. hybrid) that might
not be *so* bad, but branches can take
on a lifr of their own.
My preference, #3. Thats what we did on
the last project that I was release engineer on.
But that scheme was laid in from the very
beginning. We did not allow IFDEFs in the core code.
-Mark
-----Original Message-----
From: Robbins, Bert [mailto:Bert_Robbins@NAI.com
Sent: Thursday, February 03, 2000 12:27 PM
To: 'Wolfgang Laun'; Greg Dickie
Cc: cciug@Rational.Com
Subject: RE: [cciug] Branch for NT development
WLaun,
I don't believe that Greg is against branching in general, I believe that
his view is that this specific branch is for the wrong reason.
If you desire to have a common set of features across all of your platforms
for each release of a product then NT should be treated like a just another
platform rather than a special platform, otherwise, you will have two
different products.
The real issue here is how the software is engineered rather than platform A
vs. platform B.
Thanks
Bert Robbins
-----Original Message-----
From: Wolfgang Laun [mailto:Wolfgang.Laun@alcatel.at
Sent: Thursday, February 03, 2000 12:21 PM
To: Greg Dickie
Cc: cciug@Rational.Com
Subject: Re: [cciug] Branch for NT development
Greg Dickie wrote:
> My 2 cents. Do not do this. Branching for a platform port is bad and
merging is
> almost impossible. It might be painful but try to stay in the same branch.
Would you please be so kind and explain (briefly) why you advise against
branching? Or do you take this as a port where you burn your bridges, never
to
return?
Thank you,
-WLaun
>
>
> Greg
>
> On 03-Feb-00 John Lawlor wrote:
> >
> > Hi All,
> >
> > We are in the early stages of ClearCase and don't really use branches
until
> > now.
> >
> > One of the development groups wants to create a branch for doing NT
> > development work only and then merge it back in a few weeks (another
story).
> > The development group each use their own views.
> >
> > What is the best way to manage this branch?. All I have come up with so
far
> > is,
> > 1. Declare a branch type 'nt_development'
> > 2. Do a Cleartool mkbranch nt_development.
> >
> > These raise a few questions,
> > Can I branch the whole project or can I only do one file at a time?
> > If I get the developers to setup the views with these rules:
> > element * CHECKEDOUT
> > element * /main/nt_development/LATEST
> > element * /MAIN/1 -mkbranch nt_development
> > that will branch each file version onto this branch, but will I have to
> > merge the files back in 1 by 1?
> >
> > What is the best/smoothest way to get through this?
> >
> > All ideas are very very welcome.
> >
> > Regards,
> >
> > John.
> >
> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >
> >
> >
> > http://clearcase.rational.com/cciug/mailing_list.html
>
> ---------------------------------------------------------------------
> Greg Dickie
> Just A Guy*
> *from discreet (the logic is gone)
> Montreal
> (514) 954-7171
> greg@discreet.com
>
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
This archive was generated by hypermail 2b29 : Sun May 06 2001 - 00:22:58 EDT