Despite its flaws and bugs, Visual Source Safe continues to be the most popular source control program in the Microsoft realm. Many poeple I talk to are not aware some of its more useful functions such as "Pinning". Understanding the use of pinning can be very useful in a multi-developer environment.

Use of Pinning:

  1. Assume there are 10 versions of a file in VSS. One places a pin on version #8. Immediately, one's local file be replaced by the content of version #8. If one does a "Get Latest", one will get the content of version #8 instead of #10.
  2. Once the file is unpinned, the local file will be replaced with the "latest" version.
  3. Pinning is useful for a programmer to designate a working version (in cases where the latest checked-in version maybe buggy) for others to use. Instead of relying on "Labeling" and telling other people to Get by Label (Show History > Label Only > Get), pinning only allows users to get the correct version by using "Get Latest".
  4. The downside of using pinning is that while a file is pinned, it cannot be checked out therefore cannot be altered. This may not be desirable if the developer wants to work on new version while the file is pinned. (there are workaround such as manually make the file writable. But be careful not to overwrite the file with the VSS copy when unpinning the file.)