tags:

views:

374

answers:

3

I want to check out a directory , let's say /vobs/myvob/src/ to add a new file in this directory. But by mistake rather than checked out /vobs/myvob/src I checked out /vobs/myvob/scr/ and even worse checked in it. Then directory scr has a new version : scr@mybranch/1 (let's say I'm working on branch mybranch)

After realized that I've made a mistake, I remove the newly created version by:

ct rmver scr@myranch/1

then use ct ls parent_dir_of_scr to do the double check and I found although scr@mybranch/1 disappeared, scr@mybranch/0 is still there .
Not 100% sure but I'm afraid I should not try to remove that version in the same way , cus it might let clearcase remove a version in main as well.
So my question is how should I do a totally "clean up" in this situation .

Need your help . thanks in advance .

+1  A: 

Even if you remove version 1 of a file on your branch, your branch will remain (with version 0). If you really want to do a clean-up you can remove the branch (ct rmbranch your_branch) for the file -- it won't remove the version from mainline.

Rohit
+1  A: 

use cleartool rmbranch. A better approach is to add a free trigger that automatically removes empty branches, just as your situation. Gooooogle and you will find it.

Regards,

Tamir Gefen, GoMidjets

http://www.gomidjets.com

Tamir Gefen
+2  A: 

First, as mentioned in How do I roll back a file checked in to Clearcase?, the one command to never ever do is rmver.
Even if in your case it could be appropriate, this is simply too dangerous, for it removes the version and all its associated metadata (hyperlinks, labels and so on).

Then, you mention:

rather than checked out /vobs/myvob/src I checked out /vobs/myvob/scr/...

... well /vobs/myvob/src is quite similar to /vobs/myvob/src here. I do not see any differences between the "two" directories.

If you want to add a file to a directory through the CLI cleartool, you will need to:

  • checkout /vobs/myvob/src (parent directory)
  • mkelem the file to add
  • checkin the parent directory

Finally, the "version 0" you see is only a "declarative" version to act as a starting point for branches.
That is why the other answers suggest you to rmbranch (remove the branch) for that element. It only serves the purpose of cleaning the lsvtree (version tree).

"cleartool rmbranch -force $element"

as mentioned in the ten best scripts.

VonC