I'm wondering if there is a way to specify which streams to get a list of activitis for in one command line call?
Right now I'm building a list of activities based on either a vob or an individual stream, using either:
ct lsact -invob vob_name
or
ct lsact -in stream:stream_name
However, now I'm trying to filter it a little bit to remove activities from streams that are on locked/obsolete projects. I've got the list of streams that are on unlocked projects already, but I don't know of any way to pass this in to "cleartool lsact".
Running "ct lsact -invob", then filtering the output takes too long (upwards of 30 seconds to get output from cleartool), so I am hoping there is some way I can pass in the streams to a ct lsact or ct describe command, or something else, to do the filtering in the command instead of after.
Any ideas?
If you are talking about bash script, you can easily store the list of streams in a variable:
You can then iterate on each line within
$s
:In a DOS script, I would recommend writing those streams to a file first, and then process each line.
Doesn't it always seem you can never quite get ClearCase to tell you what you want to know in the form you want?
An alternative may be to use the -fmt option
You can then pipe through grep (-v) or other filter tool to exclude/get the projects of interest. Since it's not possible to list activities only for active streams, the alternative would be to also lock your activities when you lock the project/stream, then obsolete activities would be excluded (use -obsolete to list all activities).
Or, building on VonC suggestion, process the active streams (no -obs switch) - without the need to store the list (unix):