Versionskontrolle ist eine jener Dinge, die man erst dann vermisst, wenn es bereits zu spät ist. Normalerweise passiert das, wenn Sie versehentlich einen Teil Ihres Quellbaums löschen, anstatt ihn an einen anderen Ort zu verschieben, oder wenn Sie eine Reihe komplexer Änderungen vornehmen, die Sie in eine schlechtere Position versetzen als zu Beginn (aber Sie können nicht zurückgehen). Ein Versionskontrollsystem löst diese Probleme, indem es Kopien jeder Version einer Reihe von Dateien auf einem Server speichert und Ihnen gleichzeitig Zugriff auf eine lokale Kopie dieser Dateien zum Vornehmen von Änderungen gibt.
Gute Versionskontrollsysteme ermöglichen es mehreren Personen, gleichzeitig eine einzelne Datei zu ändern. Anschließend versuchen sie, Änderungen zwischen unterschiedlichen Änderungssätzen automatisch zusammenzuführen. Ein gutes Versionskontrollsystem gestattet Ihnen auch, die Historie einer Datei oder eines Satzes von Dateien durchzublättern (was Ihnen ermöglicht, „in der Zeit zurückzugehen") und Sie haben Zugriff auf Ihren Code von beliebig vielen Systemen aus. Subversion ist eines dieser guten Versionskontrollsysteme.