Answer
As vob owner, lock them obsolete:
ct lock -rep -obs trtype:<offending_trigger_type>
You can list the trigger types known to the vob (and active):
ct lstype -kind trtype -s
Discussion
Obsoleting the triggers is better than removing them completely:
ct rmtype -f trtype:<offending_trigger_type>
because it leaves a track of the fact that this error was already made and suffered from.
What if you do not have vob owner privileges?
Look for a way to by-pass them.
Well-written triggers provide a way (e.g. an environment string which you can define) to by-pass them.
Look at the source code of the trigger
action (if possible):
ct des trtype:<offending_trigger_type> | grep action:
Unfortunately, this works only for well-written triggers, and this are less likely to hurt you.
Also, it works only if the environment string was set in the invocation, and not in the inaccessible (for whatever reason) script or tool.
Look for tools run without a full path, and which you could preempt (this used to be possible, however it may have been 'fixed'...)
Are triggers always bad?
- Triggers are easily overused, seldom a good idea.
- Triggers are typically written by beginners: it takes more knowledge to remove them, not knowing who might depend on them. They are seldom removed after becoming redundant with ClearCase improved functionality.
- Triggers are surprising to users, and difficult to debug, because hooked in events which you cannot catch from a debugger. They tend to decrease the feeling oamong users that they manage what happens, that the ClearCase tool is useful for them. They push them to use ClearCase as little and as late as possible.
- Failing to find the ''action'' script default to failing the trigger.
- Their write access is restricted to vob owner, root, etc.
- They are vob local, not inherited from an ''admin vob''
- They are site local, not replicated.
- Wrappers are more powerful, more general, do not need to overwrite the default behaviour by using the same name (e.g. cleartool), and thus may be chosen by users for their convenience and safety.
- Triggers often have an exclusion list, so that one may by-pass them by using
sudo (questionable indeed, since the real user will not be recorded in the event).
--
MarcGirod - 08 Mar 2009