What's the "proper" way to delete files from a ClearCase snapshot?

RMorrisey picture RMorrisey · Apr 22, 2010 · Viewed 22.2k times · Source

When I delete a file from my snapshot view, the next time I look at the snapshot in ClearCase Explorer, it shows the "??" checked-out-but-removed icon. When I run "Find Modified Files" on the snapshot, the deleted files aren't shown. Running "Update View" on the snapshot causes ClearCase to re-copy the missing files back into my view.

What I want to happen is this: when I delete a file from my snapshot, and do an update, the file should be deleted from the view, just as if I had deleted it through ClearCase from a dynamic view. What's the best way to accomplish this?

I would prefer to avoid a lot of customization of my ClearCase environment. If there's a "standard" way to do this, I'd like to try that. If cleartool can show me search results for all files that fit this bill, that will be good enough for my purposes.

Answer

VonC picture VonC · Apr 22, 2010

If you delete the file from the ClearCase Explorer, you shouldn't have any issue: it will

  • checkout the parent directory
  • rmname the file
  • checkin the parent directory

But if you do it directly from a shell or a Windows Explorer, then ClearCase won't be informed of the operation, hence the "??" checked-out-but-removed status.

With a dynamic view, you cannot remove a file without ClearCase knowing about it, since a dynamic view is an encapsulation of the file system managed entirely by ClearCase.


Now let's suppose you have deleted a bunch of check-out files directly from the native filesystem (not from the ClearCase Explorer or an IDE with a ClearCase plugin), and that you want those files to stay deleted!

Then a way to reconcile the two status would be to:

  • cleartool update . (at the root directory of the snapshot view)
  • parse the generated ".updt" file and for each checked-out file, rmname it (like in this article)