kevin zamora
kevin zamora

Reputation: 153

Clearcase base : Once I label files in a release, how can I protect the labeled file versions from deletion?

Once you label file versions in a release, ideally you want to protect that code from inadvertant removal (please read everything before commenting). It is too easy to delete the code.

I know I can lock the label but the file versions attached to the label don't get automatically locked (you would have to create a perl script to do that?). You can lock an element but not an element version. Furthermore, once you lock an element, you can't check it out!!!!! STUPID. This stops future development! All I want to do is protect the code I developed (without copying it elsewhere for archive). A repository should protect the code you develop.

Of course, there is the protect command but that doesn't work in snapshot / web views.

Again, ideally you would want to lock all the element-versions in a release but still be able to continue development. The lack of this feature seems to be a gross oversight.

Any ideas? (if you have any perl scripts, please post)

Upvotes: 2

Views: 813

Answers (1)

VonC
VonC

Reputation: 1323653

It is too easy to delete the code.

It shouldn't be: the only way you will be removing that labelled version from a ClearCase VOB is through destructive commands like cleartool rmelem or cleartool rmver.

All you need to do is to have a (preop) trigger in place denying those commands for everybody (except a ClearCase admin).

Something along the lines of:

cleartool mktrtype -nc -all -ele -pre rmelem -nusers $nusers -exec \"$perl_cmd -e exit(1)\" NO_RMELEM\aim"

I would still recommend to lock the label anyway, in order to make sure it isn't moved to another version.
As in:

ct lock -nusers vobadm lbtype:FOO_LABEL@vob:/vobs/admin

But again, if rmver is denied, your (labelled) code is safe.


Actually, the OP was talking about rmname (the DEL) in ClearCase Explorer.

The fear is that if a file is deleted, and a label is moved, then one could ignore for a long time the deletion.

BUT a label should never be moved:

  • the label from a ClearCase UCM baseline is immutable (you cannot move it)
  • a label in base ClearCase should always be locked

Upvotes: 1

Related Questions