When we apply a shortcut, we do this up to version control version at a particular point in time. Intuitively, because we initially created the snapshot of the source control at a specific point in time, we can assume that the snapshot represents the source code at a specific point in time.
This is not true. Shortcuts can be edited after creation.
Conceptually, the label defines the correction of a product and products ( source ). A real world example can help. Let's say we have a product called AlphaBoogerBear. AlphaBoogerBear is a product, not a version (think about pre-release versions of Windows names). AlphaBoogerBear can be done in Label, AlphaBoogerBearLabel. We are releasing AlphaBoogerBear. There are some errors. We are fixing them.
Now we will go back and edit the AlphaBoogerBearLabel to include the fixes. A tag no longer represents a snapshot at a specific point in time. Instead, it is the most stable release of AlphaBoogerBear.
Finally, move on to BetaBoogerBear. We have the opportunity to go back and grab a label that represents the old product at its best in time.
In my opinion, if you need an instant copy of the version control version, it’s better to fork it. If you want an editable snapshot that represents a product release, then the shortcut is useful. Although it seems to be a difficult balance of trust and convenience.
As for the author’s intentions, I really can’t say for sure. He could say that the elements can be removed from the label, and thus, when you get the label, the element will be deleted. Although the item is still stored in the TFS history, therefore, although this is a confusing situation, not everything is lost.
P.Brian.Mackey
source share