tags:

views:

3039

answers:

3

How Can I Revert to Earlier baseline? We have a UCM parallel development(multi-stream) project. Each developer have a snapshot view on Project's Integration stream. Developers want to see earlier version of the application in their snapshot views so They can debug early version of application to find bugs.

When I want to change an existing snapshot views's foundition baselines, clearcase does not allow me. So How Can I do this?

A: 

Well, it depends. Actually, the answer lies in setting up your config spec to point to the proper files. Your config spec tells your view which versions of elements to look at. But how you do write it depends on your project's approach to baselines. Did you apply a label to mark that baseline? If so, and if you only want to read and not checkout anything new, your config spec can be as simple as

element * <LABELNAME>

If you didn't use labels, you can also set up your config spec to show you files based on dates. It gets more complicated the more rules you need to add to constrain your element choices. If you have more specifics, I can try to elaborate on what rules you might need. Otherwise, I would read the manuals that come with ClearCase. If you view the Extended Help from ClearCase Explorer, and then do "Viewing Rational ClearCase Manuals On-Line" it should give you some links to the Command References. This is where I go whenever I need to modify my config spec in some new way.

Also, note that we only use dynamic views, so I don't know if snapshot views work differently.

mbyrne215
+1  A: 

Since you employ the term Baseline, I will assume you are using UCM.

On a stream, you can not revert backward a baseline.

One possibility is to make a parallel stream, with the desired baseline as foundation: this is the quickest way.


After changes on this new stream, you can make a new rebase to change the foundation baseline, but only if that new rebase is using a more recent baseline from the parent stream (not an older baseline)


For your specific need, I would recommand a non-UCM snapshot view with a simple rule

element * thePreviousBaseline

In order for the developer to have:

  • his/her current UCM view for development (always set on the LATEST of a branch associated to a stream)
  • a second snasphot view set to whatever baseline he/she needs.

That second snapshot view is completely not-related to the UCM project and takes advantage of the "full" nature of the baseline (do check that your baseline has been put as "full", not "incremental". If it is "incremental", simply change its type and upgrade it to full)

So, beside your current snapshot UCM view, you can create anywhere you want a non-snasphot view:

cleartool mkview -snap -tag mylogin_myComponentname_csl_snap -vws myPathToViewStorage myPathToRootView
cd myPathToRootView
cleartool edcs
[add the selection rule: element * myOlderBaseline]
[add the load rule at the end: 'load /myVob_Including_MyComponent]
[save, type 'yes']

That is fine for consultation/execution, but if you need to patch (that i is to write, check out and in some files), then I would recommend one UCM stream per baseline to be patched.
That way, the stream clearly represents the patch effort for a given baseline. There should not be too many of them, unless you put into production a new version of your application every five minutes... which is not advisable ;)


So to summarize:

  • the non-UCM snapshot view is unique and serve for a quick consultation/debug of one older baseline at a time.
  • for patches (source modification), you create a parallel stream properly named, with the correct foundation baseline, and then a UCM view on it. You can not only debug but also fix some bugs in an activity, the deliver that activity to the main Int stream if that bug need to be retro-fitted on an higher stream.
    (note: all bugs do not always need to be delivered: they can be obsolete when compared with the current state of the development)
VonC
Yes I am using UCM.When I make parallel child/development stream I can load desired baseline as a foundation.However when I make any changes in this parallel stream I can't change foundation baseline again.Can you help please?
mcaaltuntas
Thank you very much for your answers. How can I create non-UCM view in a UCM project(sorry I'm newbie)? And When a developer wants to see older baseline than current parallel stream, Does he/she has to create new child development stream for older baseline?
mcaaltuntas
A: 

The way I have solved this problem is by making another Stream, a child Stream of the Integration Stream. The easiest way to create this Stream is to open ClearCase Project Explorer (not Rational ClearCase Explorer) and navigate to the Project and then the Stream in question. Right click on the Integration Stream and select "Create Child Stream..."

Click "Advanced Options" and select a baseline for each component. Do this by selecting the component and then selecting "Change..." and selecting the specific baseline you want to see. You probably want to select "Prompt me to create a View for this Stream." Select "OK".

Any developer can do this. You don't need to be a VOB owner or Project or Stream owner.

Eddie