The Version Control Server blog has shown some signs of life. Bill Tutt has written a couple of posts. The first one is about the Orcas version control feature that lots of customers have requested: destroy. The destroy command, which is only available from the tf.exe command line, will permanently remove the specified files and folders from your database (delete just hides them really).
Destroy gives you the ability to permanently delete version control files/folders from TFS. It can also be used to destroy the file contents while preserving the change set history.
His second post covers subtle problem of performing a merge where one, or both, of the versions specified is a label (LsomeLabelName). While he doesn’t mention it in the post, specifying a workspace as the version to merge works the same way as specifying a label. In other words, just like you generally don’t want to merge using a label as the version, you also don’t want to use a workspace version specifier (W or WsomeWorkspacename;someOwner). The problem is that deleted files can’t be labeled, nor can they be in your workspace at the version they were deleted. This is in fact why merging always uses the latest version by default, rather than what you have in your workspace.
If this all seems a bit arcane, just follow the simple rule of not merging using labels for the versions, unless you spend the time to really understand what you are getting.
Labels are an interesting part of version control system. In version 1 of TFS Version Control, labels do not contain deleted items.