SVN примерно расшифровывается как "система контроля версий" и служит собственно для этого - для хранения информации об изменениях в файлах. К примеру, у себя дома я настроил svn для хранения "домашних" проектов и использую систему примерно так:
- задумал новый проект - создал для него папку и добавил ее в svn
- чего-то там пописал, поделал, заканчиваю играться - делаю commit в svn
- на след. день еще чего-то написал/исправил, снова сделал commit
- на работе стукнула мысль (или просто код может пригодится по работе - тот же ffmpeg) - создал папку на рабочем компьютере и сделал в нее checkout моего проекта, чего-то пофиксил, сделал commit
- пришел домой, сделал update проекту и продолжил работу - никаких переписываний с флешки/на флешку (с обязательным забыванием или забрать исходники на флешку, или скопировать дома с флешки)
- бамц! перестало работать то, что работало раньше - начинаю сравнивать версии и искать, что фиксил
- бабамц! компьютер накрылся медным тазом.. восстановил систему, поставил клиент для svn, сделал checkout своим проектам - и я готов к работе