Topic
  • 8 replies
  • Latest Post - ‏2007-09-26T08:35:04Z by Paul_Browne
SystemAdmin
SystemAdmin
47283 Posts

Pinned topic Rebase Error - Can't switch to baseline

‏2005-03-08T20:18:38Z |
Hi Folks,

We are using composite baseline, often there is a need to rebase the common components that are shared across projects. The shared components in the project are read only, if we accept the override option and try to rebase the component. It complains of the following error on the integration stream where the rebase is being done :

Error : Can't switch to baseline "MP-V1.37.03.5789" of component "Mirapoint" because the stream has made changes based on the current baseline.

Any information to resolve the issue would be very much appreciated.

Thanks,
Sam
  • SystemAdmin
    SystemAdmin
    47283 Posts

    RE:Rebase Error - Can't switch to baseline

    ‏2005-03-08T20:58:04Z  
    It looks like you're running into the many constraints associated with
    UCM baselines.

    Daniel Chaffiol has banged his head against these issues (and Rational)
    for quite a while, now, so try searching for his old posts. Or maybe
    he'll respond if he hasn't yet given up on Clearcase. ;-) There's also
    a Rational paper that describes many of the issues - but it doesn't
    really get into all of the dirty details.

    Essentially, though, I believe it boils down to this:

    - You can't rebase a stream "back in time" if you've made
    changes in a stream.

    - even creating a new composite baseline in a stream w/ ~only
    read-only components can be considered "making a change".

    I honestly don't know if this means you're out of luck w/rt what you're
    trying to do - but just that it may be more difficult of a problem than
    what it really should be.

    -----Original Message-----
    From: owner-cciug@lists.us.ibm.com mailto:owner-cciug@lists.us.ibm.com
    On Behalf Of rational_guy
    Sent: Tuesday, March 08, 2005 2:19 PM
    To: cciug@lists.us.ibm.com
    Subject: cciug Rebase Error - Can't switch to baseline

    Hi Folks,

    We are using composite baseline, often there is a need to rebase the
    common components that are shared across projects. The shared
    components in the project are read only, if we accept the override
    option and try to rebase the component. It complains of the following
    error on the integration stream where the rebase is being done :

    Error : Can't switch to baseline "MP-V1.37.03.5789" of component
    "Mirapoint" because the stream has made changes based on the current
    baseline.

    Any information to resolve the issue would be very much appreciated.

    Thanks,
    Sam
    <============================================================
    To unsubscribe, send email to
    majordomo@lists.us.ibm.com and put these words in the
    message body: unsubscribe cciug
    ============================================================>

    <============================================================
    To unsubscribe, send email to
    majordomo@lists.us.ibm.com and put these words in the
    message body: unsubscribe cciug
    ============================================================>
  • SystemAdmin
    SystemAdmin
    47283 Posts

    Re:Rebase Error - Can't switch to baseline

    ‏2005-03-09T06:56:10Z  
    It looks like you're running into the many constraints associated with
    UCM baselines.

    Daniel Chaffiol has banged his head against these issues (and Rational)
    for quite a while, now, so try searching for his old posts. Or maybe
    he'll respond if he hasn't yet given up on Clearcase. ;-) There's also
    a Rational paper that describes many of the issues - but it doesn't
    really get into all of the dirty details.

    Essentially, though, I believe it boils down to this:

    - You can't rebase a stream "back in time" if you've made
    changes in a stream.

    - even creating a new composite baseline in a stream w/ ~only
    read-only components can be considered "making a change".

    I honestly don't know if this means you're out of luck w/rt what you're
    trying to do - but just that it may be more difficult of a problem than
    what it really should be.

    -----Original Message-----
    From: owner-cciug@lists.us.ibm.com mailto:owner-cciug@lists.us.ibm.com
    On Behalf Of rational_guy
    Sent: Tuesday, March 08, 2005 2:19 PM
    To: cciug@lists.us.ibm.com
    Subject: cciug Rebase Error - Can't switch to baseline

    Hi Folks,

    We are using composite baseline, often there is a need to rebase the
    common components that are shared across projects. The shared
    components in the project are read only, if we accept the override
    option and try to rebase the component. It complains of the following
    error on the integration stream where the rebase is being done :

    Error : Can't switch to baseline "MP-V1.37.03.5789" of component
    "Mirapoint" because the stream has made changes based on the current
    baseline.

    Any information to resolve the issue would be very much appreciated.

    Thanks,
    Sam
    <============================================================
    To unsubscribe, send email to
    majordomo@lists.us.ibm.com and put these words in the
    message body: unsubscribe cciug
    ============================================================>

    <============================================================
    To unsubscribe, send email to
    majordomo@lists.us.ibm.com and put these words in the
    message body: unsubscribe cciug
    ============================================================>
    > Daniel Chaffiol has banged his head against these issues (and Rational)
    > for quite a while, now, so try searching for his old posts.

    I had some communication with Daniel about the issue. Indeed, there is
    something wrong with override/overridden baselines for read-only
    components.

    > Essentially, though, I believe it boils down to this:
    > - You can't rebase a stream "back in time" if you've made
    > changes in a stream.
    > - even creating a new composite baseline in a stream w/ ~only
    > read-only components can be considered "making a change".

    To be more precise:
    When make a new composite baseline in a stream, a new baseline in the
    stream will be created for all dependent components that are
    overridden, including modifiable and read-only components.
    But ... making a baseline in a stream for a component is "making a
    change". So this way, UCM makes a change on a read-only component.

    And as Andrew explained, you can't rebase "back in time" for
    components that have been changed in the stream.

    > I honestly don't know if this means you're out of luck w/rt what you're
    > trying to do - but just that it may be more difficult of a problem than
    > what it really should be.

    You may try to remove the baseline for the read-only component
    (cleartool mkbl), but I don't think it will work because the baseline
    is used by the composite baseline. So there is no way to recover from
    it, as far as I know.

    And the only way to prevent this situation is by not making a
    composite baseline when a read-only component has an "overridden"
    baseline. I guess (but have not tried) that a pre-op mkbl trigger that
    refuses (exit 1) creation of a baseline for read-only components may
    be helpful.

    Frank.
    TOPIC Software Group
    P.O. box 440, NL-5680 AK Best
    Netherlands
    Telefoon (+31) - 499 - 33.69.77
    Telefax (+31) - 499 - 33.69.78
    <============================================================
    To unsubscribe, send email to
    majordomo@lists.us.ibm.com and put these words in the
    message body: unsubscribe cciug
    ============================================================>
  • SystemAdmin
    SystemAdmin
    47283 Posts

    Re: Re:Rebase Error - Can't switch to baseline

    ‏2005-03-09T18:42:51Z  
    > Daniel Chaffiol has banged his head against these issues (and Rational)
    > for quite a while, now, so try searching for his old posts.

    I had some communication with Daniel about the issue. Indeed, there is
    something wrong with override/overridden baselines for read-only
    components.

    > Essentially, though, I believe it boils down to this:
    > - You can't rebase a stream "back in time" if you've made
    > changes in a stream.
    > - even creating a new composite baseline in a stream w/ ~only
    > read-only components can be considered "making a change".

    To be more precise:
    When make a new composite baseline in a stream, a new baseline in the
    stream will be created for all dependent components that are
    overridden, including modifiable and read-only components.
    But ... making a baseline in a stream for a component is "making a
    change". So this way, UCM makes a change on a read-only component.

    And as Andrew explained, you can't rebase "back in time" for
    components that have been changed in the stream.

    > I honestly don't know if this means you're out of luck w/rt what you're
    > trying to do - but just that it may be more difficult of a problem than
    > what it really should be.

    You may try to remove the baseline for the read-only component
    (cleartool mkbl), but I don't think it will work because the baseline
    is used by the composite baseline. So there is no way to recover from
    it, as far as I know.

    And the only way to prevent this situation is by not making a
    composite baseline when a read-only component has an "overridden"
    baseline. I guess (but have not tried) that a pre-op mkbl trigger that
    refuses (exit 1) creation of a baseline for read-only components may
    be helpful.

    Frank.
    TOPIC Software Group
    P.O. box 440, NL-5680 AK Best
    Netherlands
    Telefoon (+31) - 499 - 33.69.77
    Telefax (+31) - 499 - 33.69.78
    <============================================================
    To unsubscribe, send email to
    majordomo@lists.us.ibm.com and put these words in the
    message body: unsubscribe cciug
    ============================================================>
    Hi Andrew/Frank,

    Thank you for the detailed response, I would like to make sure I advocate the right methodology towards composite baseline development. Any rebase on the integration stream with regard to read only shared component(override) would work only if the baseline of the shared component has a newer baseline (time stamp) that the composite baseline on the integration stream.

    I would very much appreciate your response.

  • SystemAdmin
    SystemAdmin
    47283 Posts

    Re: Re:Rebase Error - Can't switch to baseline

    ‏2005-03-10T11:14:11Z  
    Hi Andrew/Frank,

    Thank you for the detailed response, I would like to make sure I advocate the right methodology towards composite baseline development. Any rebase on the integration stream with regard to read only shared component(override) would work only if the baseline of the shared component has a newer baseline (time stamp) that the composite baseline on the integration stream.

    I would very much appreciate your response.

    (Note to Andrew: nope, I have not yet given up on ClearCase ;) )
    To rational_guy: You are experiencing a 'parasite baseline bug', which prevent the rebase of a composite baseline with overriden baselines within it.
    All is detailled in http://www-106.ibm.com/developerworks/forums/dw_thread.jsp?forum=333&thread=67809&message=9458462&cat=24&q=chaffiol#9458462
    I can also email you the real version of the fallacious whitepaper of Rational (http://www-106.ibm.com/developerworks/rational/library/5134.html), see http://www-106.ibm.com/developerworks/forums/dw_thread.jsp?message=6077229&cat=24&thread=67809&forum=333#6077229

    After 2 years of discussions with Rational support, two progresses have been achieved:
    • from CC2003 SR0, a non-modifiable composite baseline with a parasite baseline on it can be rebased foreward.
    • The possibility to remove that composite baseline of to rebase backward may be released with CC2003 SR5 (but it is not confirmed yet)

    Two real problems remain:
    • Parasite baseline will still be produced on the rootless component every time a baseline which overrides baselines of the rootless component is added or modified(and a baseline is made on the stream).
    • That parasite baseline is still visible when one want to browse or change baseline of the rootless component: instead of having the 2 or 3 legacy original baselines for the rootless component, you end up with thousand of parasite baselines, because that component is used throughout your UCM projects.

    Your methodology seems to be about the component which overrides a baseline. Whatever is the baseline of that component, you will have the problem, because the baseline overrides one of the rootless component baselines.

    Do not hesitate to email me or to detail in this forum the methodology you want to enforce.

    Daniel Chaffiol
    daniel.chaffiol at sgcib.com
  • SystemAdmin
    SystemAdmin
    47283 Posts

    Re: RE:Rebase Error - Can't switch to baseline-Addition to original query

    ‏2007-09-26T05:31:45Z  
    It looks like you're running into the many constraints associated with
    UCM baselines.

    Daniel Chaffiol has banged his head against these issues (and Rational)
    for quite a while, now, so try searching for his old posts. Or maybe
    he'll respond if he hasn't yet given up on Clearcase. ;-) There's also
    a Rational paper that describes many of the issues - but it doesn't
    really get into all of the dirty details.

    Essentially, though, I believe it boils down to this:

    - You can't rebase a stream "back in time" if you've made
    changes in a stream.

    - even creating a new composite baseline in a stream w/ ~only
    read-only components can be considered "making a change".

    I honestly don't know if this means you're out of luck w/rt what you're
    trying to do - but just that it may be more difficult of a problem than
    what it really should be.

    -----Original Message-----
    From: owner-cciug@lists.us.ibm.com mailto:owner-cciug@lists.us.ibm.com
    On Behalf Of rational_guy
    Sent: Tuesday, March 08, 2005 2:19 PM
    To: cciug@lists.us.ibm.com
    Subject: cciug Rebase Error - Can't switch to baseline

    Hi Folks,

    We are using composite baseline, often there is a need to rebase the
    common components that are shared across projects. The shared
    components in the project are read only, if we accept the override
    option and try to rebase the component. It complains of the following
    error on the integration stream where the rebase is being done :

    Error : Can't switch to baseline "MP-V1.37.03.5789" of component
    "Mirapoint" because the stream has made changes based on the current
    baseline.

    Any information to resolve the issue would be very much appreciated.

    Thanks,
    Sam
    <============================================================
    To unsubscribe, send email to
    majordomo@lists.us.ibm.com and put these words in the
    message body: unsubscribe cciug
    ============================================================>

    <============================================================
    To unsubscribe, send email to
    majordomo@lists.us.ibm.com and put these words in the
    message body: unsubscribe cciug
    ============================================================>
    Hi Friends,

    After the 9/19 code delivery from 'Father' stream to 'GrandFather' stream,
    We did another delivery (only 1 activity) to 'Father' stream from its child stream and then created and recommended new baseline at the 'Father' Stream for the child streams on 9/20.
    There are 4 child streams to 'Father' stream and we performed the rebase on all the four streams for the newly created baseline at 'Father' stream. Everything worked OK till this point.

    On 9/20 we got new baseline(WCA_2007_09_20_01 ) from the 'GrandFather'(parent of 'Father') and we performed the rebase at 'Father' and then we recommend(only recommended) the baseline WCA_2007_09_20_01 for the child streams of 'Father'.

    When we tried to rebase the child streams with new recommended baseline (WCA_2007_09_20_01 we are getting the following error message.

    Error : Can't switch to baseline "XYZ" of component
    "CMS" because the stream has made changes based on the current
    baseline.

    Please find sometime to help me out from this.

    Thanks
    Naresh
  • Paul_Browne
    Paul_Browne
    29 Posts

    Re: RE:Rebase Error - Can't switch to baseline-Addition to original query

    ‏2007-09-26T07:13:12Z  
    Hi Friends,

    After the 9/19 code delivery from 'Father' stream to 'GrandFather' stream,
    We did another delivery (only 1 activity) to 'Father' stream from its child stream and then created and recommended new baseline at the 'Father' Stream for the child streams on 9/20.
    There are 4 child streams to 'Father' stream and we performed the rebase on all the four streams for the newly created baseline at 'Father' stream. Everything worked OK till this point.

    On 9/20 we got new baseline(WCA_2007_09_20_01 ) from the 'GrandFather'(parent of 'Father') and we performed the rebase at 'Father' and then we recommend(only recommended) the baseline WCA_2007_09_20_01 for the child streams of 'Father'.

    When we tried to rebase the child streams with new recommended baseline (WCA_2007_09_20_01 we are getting the following error message.

    Error : Can't switch to baseline "XYZ" of component
    "CMS" because the stream has made changes based on the current
    baseline.

    Please find sometime to help me out from this.

    Thanks
    Naresh
    Naresh,

    After rebasing the "Father" stream from the "Grandfather" stream, you must straight away make new baseline(s) on the Father stream.

    The new baseline(s) you create will incorporate the baseline from the Grandfather stream, PLUS the changes already on the Father stream. Such baseline(s) can then be recommended to the child streams, and rebase should then be possible.

    Paul Browne
  • SystemAdmin
    SystemAdmin
    47283 Posts

    Re: RE:Rebase Error - Can't switch to baseline-Addition to original query

    ‏2007-09-26T08:07:06Z  
    Naresh,

    After rebasing the "Father" stream from the "Grandfather" stream, you must straight away make new baseline(s) on the Father stream.

    The new baseline(s) you create will incorporate the baseline from the Grandfather stream, PLUS the changes already on the Father stream. Such baseline(s) can then be recommended to the child streams, and rebase should then be possible.

    Paul Browne
    Hey Paul
    We usually follow the procedure of getting the baseline from "Grandfather" stream and then pushing(just recommend) it down till the lowest level rather then creation.
    I think ,i can move forward with your suggestion.
    Do you think that next time we get the baseline from 'Grandfather' we again need to create new baseline at 'father' level, similar to you suggestion or do we just need to recommend only?

    Thanks for you earlier reply.

    Please share your thoughts on this again.

    Naresh
  • Paul_Browne
    Paul_Browne
    29 Posts

    Re: RE:Rebase Error - Can't switch to baseline-Addition to original query

    ‏2007-09-26T08:35:04Z  
    Hey Paul
    We usually follow the procedure of getting the baseline from "Grandfather" stream and then pushing(just recommend) it down till the lowest level rather then creation.
    I think ,i can move forward with your suggestion.
    Do you think that next time we get the baseline from 'Grandfather' we again need to create new baseline at 'father' level, similar to you suggestion or do we just need to recommend only?

    Thanks for you earlier reply.

    Please share your thoughts on this again.

    Naresh
    Naresh,

    If you never make any baselines on the Father stream, then I guess your process works. But the child streams would never use the versions from the Father stream, only from the Grandfather stream because that's where the baseline comes from. (In that case, I don't see what is the purpose of the Father stream.)

    But once you have made a baseline on the Father stream, it breaks your process. The next Grandfather baseline, by definition, is not a descendant of the Father baseline - it does not include versions checked in on the Father stream.

    When the child streams attempt to rebase to a new Grandfather baseline, ClearCase will not allow it, because the child already has a dependency on the Father stream versions. In this case, you make and recommend a new baseline on Father stream, which incorporates those versions, on top of the Grandfather baseline.

    The process we've used here is to always make and recommend baselines after rebasing any integration stream. So the child streams can always successfully rebase. This works for any number of levels of integration in a hierarchy.

    Hope this helps.

    Paul Browne