This section discusses how maintaining a product is helped by each part of a development environment. The next section discusses the process of deleting things such as SCM tags, files from builds, test results, and documents.
The different parts of an SCM tool that particularly help with maintaining an existing product are:
Change logs will show you exactly what has changed in a given version since it was last released. They're also good for finding the right people to talk to about the changes in that version, and deciding which areas of the product ought to be retested.
Limiting who is permitted to make changes to a release branch should mean that the amount of change to it is limited, which should in turn reduce the amount of manual retesting that is needed later on.
The ability to know who changed each line, and in which revision, makes it easier to understand the purpose of specific changes. This is a major feature for large open source projects, where the developers may never have actually met each other.
Periodic sweeps through the source code to remove files that are entirely unused is safer when SCM tools are used.
What do you do if you find you didn't add everything that you needed to reproduce a build into the SCM tool? Perhaps some patches were applied to the operating system but not noted anywhere. Perhaps the compiler used was a particular version that's no longer available? ...