Контролът на изходния код е едно от онези неща, от които човек рядко осъзнава, че има нужда, докато не стане твърде късно. Обикновено това е, когато случайно изтриете част от дървото на изходния си код вместо просто да го преместите на друго място, или когато направите набор от сложни промени, които ви оставят в по-лошо състояние, отколкото в началото (но не можете да се върнете назад). Системата за контрол на изходния код решава тези проблеми, като съхранява копия на всяка ревизия от набор файлове на сървър, докато ви предоставя достъп до локално копие на тези файлове за внасяне на промени.
Добрите системи за контрол на изходния код позволяват на няколко души да модифицират един и същи файл едновременно. След това те се опитват да обединят автоматично промените между различните набори модификации. Добрата система за контрол на изходния код също така ви позволява да разглеждате историята на файл или набор от файлове (като ви позволява „да се върнете назад във времето“) и да имате достъп до кода си от толкова системи, колкото желаете. Subversion е една от тези добри системи за контрол на изходния код.