I have created a development stream str_Devlopment_stream in the integration stream str_Integration_stream .
While creating a development stream we get an option to create integration and development view, which creates an integration view in the integration stream and development view in the development stream.
Now what had happened with me is, the integration view was not created created properly and development view created completely. Due to this I have removed the integration view mistakenly.
Now I have made my project changes completely in the development view and checked in all the files. Now I am unable to deliver my changes from development stream to integration stream as the integration view is missing.
I would like to know if there is any way I can create this integration view in the respective integration stream so that I can deliver my changes from development stream to integration stream and make a baseline.
I would like to know if there is any way I can create this integration view in the respective integration stream
Sure, simply use cleartool mkview (here a dynamic view, easier and quicker for merges, instead of a snapshot view)
ct mkview -tag myview -stream MyStream#/vobs:MyPVob /var/tmp/your-username_dynview.vws
See "How to associate a clearcase view with stream or vob?"
Then make sure this new view is used for your cleartool deliver:
cleartool deliver -reset -to your-integration-view
As mentioned in the discussion, the full name of the stream is important, and depends on the syntax for that environment (Windows or Linux)
A simple cleartool lsvob|grep vob name can help to have the right name
Then create the view with (in this case) a unix syntax:
cleartool mkview -tag myintview -stream astream_Integration#/vob/a_pvob /var/tmp/user_astream_int_URL.vws
Finally, initiate the deliver from dev stream to int stream and int view:
cleartool deliver -stream dev_stream#/vob/a_pvob -to myintview -target astream_Integration#/vob/a_pvob
Related
I have a development view, which is linked to a development stream, which delivers to an integration stream.
What is the best way to find the integration stream using console commands ?
You could use a fmt_ccase query with cleartool describe, by looking at the UCM project:
cleartool descr -fmt "%[istream]Xp" project:myProject#\myPVob
If you don't have the project name ready, you can:
get the stream from your view
list all pvobs and find the one which includes said dev stream: the current project will be your project name, from which you can get the integration stream name.
If you CD or set into your view, cleartool lsstream -long -cview should tell you your default deliver target, which is usually the integration stream. If it's not, you can get the information from the project listed or by looking at the default deliver target...
I am not been able to change any parameters in clearcase GUI? Any suggestions how to fix it.
I want to give the view tag and stream name as I wanted but it is not allowing me to write or change anything in clearcase explorer.
A ClearCase Explorer is for the view, files and directories.
You cannot change the name of a view, through GUI.
You could follow the process describe in this IBM technote (rmtag, unregister, moving the view storage, register, mktag...).
But frankly, you would be better off creating a new one (with the same config spec, which means, for an UCM view, create a new UCM view referring to the same Stream)
A ClearCase Project Explorer is for all UCM metadata: pvobs, projects, streams, activity.
You cannot change an UCM name through the GUI (at least in 7.x, the ClearTeam 8.x interface could be more helpful).
But you can rename a stream easily enough through cleartool rename stream:aStream#\aPVob nameName.
However, I would then recommend to build a new view pointing on the new Stream (instead of resetting the config spec, with a cd /path/to/your/view; cleartool chstream --generate)
I am currently using ClearCase over a remote network and it is painfully slow. It takes forever just to browse to the stream that I want to make a baseline of. Is there a quick, easy, and safe way to make a baseline from the cleartool interface of a specific stream?
Thanks,
Ian
The basic command, from cleartool man mkbl:
cleartool mkbl -view anUCMView aBaselineName
You need a view associated to your target Stream to apply the baseline.
I recommend using the -full option, in order to create a full baseline (rather than an incremental one by default).
Using a snapshot or a dynamic view for mkbl shouldn't make a difference, but I like working in a snapshot view, and setting my baselines in a dynamic view (in which I am sure I don't have any pending checkouts).
See:
"What is the difference between Full baseline and Incremental baseline in Clearcase UCM?".
"How to apply baseline only to a particular component?" if you need to limit it to one component.
Note: this is for a full ClearCase installation, not CCRC (ClearCase Remote Client).
In clear case terminology, what is the difference between integration stream and integration view? Development stream and development view?
More specifically, why "joining an UCM project" involves creating both integration and development views?
If I am a developer, not an integrator, should only one view be enough?
Integration is a term used by convention to designate the first root stream of an UCM project.
Each UCM project has one root stream (and potentially many sub-streams).
The idea is that you will use your integration view as the destination view for deliver coming from sub-streams, effectively "integrated" the work done on said sub-streams on that integration view.
(Froml Stream hierarchy)
Any sub-stream is called by convention a "development" Stream, in that it represents the "configuration" (ie what you need to work) for your current "development effort".
A Stream is a configuration.
An UCM view is a ClearCase view with a config spec done automatically for you following the configuration of the Stream (instead of writing those selection rules manually).
The integration view is a view with the Integration Stream as reference.
A Development view is a view with a development Stream as reference.
The main idea behind this hierarchy of streams is to visualize your merge workflow (ie: once you have finished a work on a branch 'B', where do you need to merge said work?)
merge from a sub-stream to a parent stream: deliver
merge from a parent stream to an immediate child stream: rebase
with ClearCase UCM I can create a baseline in a snapshot view directory. When not all files are up-to-date, which version of a file is included in the baseline?
Example: version 3 of foo.txt is located in the snapshot view directory and there already exists a version 4 of this file. Which version of the file is referenced by the baseline?
Does this depends on the version of ClearCase (I am using ClearCase 7.1)? Do I have to consider something?
Background of the question: for a continuous integration build I want to use a snapshot view. When during creating or updating the snapshot view an other user checks in a file to the same stream this new version may or may not be part of the snapshot. At least I want be to be able to identify which files in my snapshot directory have been used by the build.
About Baselines: A mkbl depends on the selection mechanism (the config spec)
of the local access mechanism (snapshot or dynamic view) providing said selection mechanism.
For each element in the component, the baseline records the version of that element selected by the stream's configuration at the time mkbl is executed.
So the -view parameter is only there to reference the Stream (and its associated config spec):
-vie/w view-tag
Specifies the view from which to create baselines. Baselines are created in the stream that the view is attached to.
For example, if you are working in coyne_dev_view, but want to create a baseline from the configuration specified by the view coyne_integration_view, use -view coyne_integration_view.
This option creates a baseline in the project's integration stream that includes all the checked-in versions contained in coyne_integration_view.
If you do not specify view-tag, the current view is used.
In your case, if your UCM view is supposed to select v4, but is currently selecting v3 because that snapshot view hasn't been updated yet, the baseline should reference v3 (what is currently selected by the view).
So for your background question, best to perform a cleartool update before the mkbl.