How to obsolete all the delivery tasks? - clearcase

In our project every day there will be lot of deliveries to integration stream.
When i am looking at my integration stream through project explorer UI, It has plenty of delivery-XX activities?
Can i obsolete them? Is it recommended? How to obsolete all the delivery activity in integration stream using cleartool?

cleartool lock -obsolete activity:deliver-xx#\myPVob
is enough to obsolete one activity.
You could list all activities in a Stream, and parse the result in order to prepare the right list of commands.
cleartool lsact -in stream:aStream#\aPVob

Related

How to Add Missing Foundation Baselines in ClearCase

So Someone from my team has deleted some foundation Baselines from an Integration Stream and now when people rebase their development stream many of the folders and files inside them are missing.
We can see those missing foundation baselines in the development streams of that Integration Stream.
So I wanted to know how I can add those missing foundation Baselines from those dev stream to int stream, we only have access to IBM ClearTeam explorer to do it.
we only have access to IBM ClearTeam explorer to do it.
So you still have the CCRC CLI (rcleartool) (assuming the CCRC WAN Server is upgraded to ClearCase® version 8.0.0.3 or higher)
mkbl, however, is a cleartool command only (not rcleartool) in CC8, but rcleartool mkbl does exist for CC 9.x.
You could use that to recreate your fundation baseline, assuming you can tweak a (preferable dynamic or webview) config spec to select the right versions.
The baseline still exists, so you should be able to rebase the integration stream to re-add the baselines. You may want to describe the baseline to find the stream the baseline was created in to be sure you know everything you need to know about it.
rcleartool rebase -baseline baseline1#/vobs/mypvob,baseline2#/vobs/mypvob
Should be enough to accomplish the job. If your int stream has a successor baseline as the foundation now, and the component is not read-only in your project, you'll get an error message. The error message should tell you more about why you can't do the rebase.

Serilog GUI for desktop

Serilog is a logging library that has Sinks (adapters) to many log viewing/analysis services (like Glimpse or Loggly). That is cool but all of them require browser to see the logs.
Is there a ready GUI control for desktop applications (using winforms, WPF, etc..) for log entries that works with serilog?
P.S. We can take IObservable serilog Sink and create our own "LogGrid" but we would prefer to not to reinvent a bicycle.
It depends on where you log the messages from Serilog. You can log to numerous "sinks" so most GUI tools will depend on what sink you are using. The list of provided sinks for Serilog is here: https://github.com/serilog/serilog/wiki/Provided-Sinks
Some options include:
Log Parser
If you are using some file-based sinks, then you can use the Microsoft Log Parser available here: https://www.microsoft.com/en-us/download/details.aspx?id=24659
From the site:
Log Parser 2.2 is a powerful, versatile tool that provides universal
query access to text-based data such as log files, XML files and CSV
files, as well as key data sources on the Windows operating system
such as the Event Log, the Registry, the file system, and Active
Directory.
Log Parser Lizard GUI
If you want a shiny UI to search the log files using log parser, check out Log Parser Lizard GUI here: http://lizard-labs.com/log_parser_lizard.aspx
From the site:
Log Parser Lizard is a GUI for Microsoft Logparser, definitely the
best one available on the market today. Log Parser is a very powerful
and versatile query software tool that provides universal query access
(using SQL) to text-based data, such as log files, XML files, and
TSV/CSV text files, as well as key data sources on the Microsoft
Windows operating system, such as the Windows Event Log, IIS log, the
registry, the File System, the Active Directory services and much
more.
Seq
This does NOT meet your "non-browser based UI" requirement, however Seq does a great job of providing a web-based interface to search and analyze logs with built-in support for Serilog. It is available here: https://getseq.net/
From the site:
Seq is the easiest way for .NET developers to capture, search and
integrate structured log events. Compared with traditional plain-text
logs, structured logs cut through the complexity of distributed and
asynchronous applications.
Have a look at https://github.com/RolandPheasant/TailBlazer to see how Roland did it.

Clearcase Comment Search GUI based utility

I am working in a project which uses Clearcase for it source code management. Many times we have come across scenarios where we want to find all files having a particular set of keywords in the checkin comments like when tracking files changed for a cahnge request.
As of now, we do it with help of Clean approach suggested in this answer Searching ClearCase for a checkin with a specific comment
But we would really like to get our hands on some utility like fisheye for clearcase so that it becomes easier to do our task
The problem is, any utility you would find would be based on the same cleartool find -exec command I mention in my previous answer (ie: quite slow)
And FishEye 2.9+ doesn't support ClearCase anymore.
Only recent version of (commercial) tools like GoMidjets Visual Annotate offers some kind of efficient search on those metadata.

Simple deployment from ClearCase on Unix

I have recently joined a team that has several applications that perform workload automation. They use ClearCase for version control but the development and test environments are (I surmise due to a lack of ClearCase expertise within the team) not checked out/deployed out of ClearCase but simply FTP-ed to respective Unix servers from Window. I said "simple deployment" because all the code is interpreted (Perl and shell) so no need to compile. Needless to say, many things are wrong with this approach, most specifically the lack of version management in these environments from the point of deployment onward.
So I would like to bind our deployments to the repository and start controlling changes but I am only a ClearCase novice. My specific question is: what is it that I deploy, a VIEW or a STREAM? I would say the latter cause views are user-specific while (according to my understanding) a stream is a project trunk off of each view is like a branch and views are integrated into their stream.
If anyone has any pointers on some useful yet succint and lightweight ClearCase tutorials for an "accidental" CM liason, please share.
Alternatively, if you think this task is suitable for Jenkins, despite being relatively simple (no build/compile involved) please chime in.
Thanks in advace
You would need to use the Jenkins ClearCase UCM plugin (in combination with Jenkins ClearCase plugin) in order to start jobs based on a ClearCase Stream
Jenkins will create an UCM snapshot view based on the stream you will specify in it.
See also, for more on the stream:
"Difference between branches and streams in ClearCase?"
"Integration stream vs integration view in ClearCase"

How to force rebase before each delivery?

We set policy to force rebase before delivery if any baseline is recommended.
But we would not recommend baseline everyday. We will do it once in 2 weeks like that.
In between recommend baseline duration, people are often facing issues in functionality as they have not taken latest code base.
Is there any way to force to rebase before each delivery? [irrespective of baseline is recommended or not].
Is it recommended practice to rebase before each delivery?
It is recommended to rebase before delivering, and it usually is based on the "recommended baseline" mechanism.
So even if you said "irrespective of baseline is recommended or not", I would still suggest you look at "this deliver policy: 'Rebase before delivery'".
This policy (Require development stream to be based on the project's recommended baseline(s) prior to delivery) requires developers to rebase their source streams to the target stream current recommended baselines before they deliver work to the target stream.
The policy can be set per project or per stream, for interproject and intraproject deliver operations.
The goal of this policy is to have developers build and test their work in their development work areas against the work included in the most recent stable baselines before they deliver to the target stream. This practice minimizes the amount of merging that developers must do when they perform deliver operations.
From UCM policies:
If you don't recommend baselines on the parent stream, then you need to define a preop deliver trigger (as in this thread):
cleartool mktrtype -ucm -preop deliver_start -execwin ccperl "\\share\path\to\script.pl" -c "Check if rebase activity exists before delivering" rebase_before_delivery#\pvob
With script.pl a script which would list all activities of the current stream, checking if the latest activity is a rebase.xxx one.
http://www.ibm.com/developerworks/forums/message.jspa?messageID=14116547

Resources