Subversion, também conhecido por SVN, é um sistema para controle de versão livre, vital para o desenvolvimento de qualquer espécie de código-fonte ou documentação. O SVN consiste em um servidor que gerencia o "repositório" e um cliente capaz de comunicar-se com o servidor SVN.
O repositório consiste um sistema de arquivos virtual que armazena todas as versões (no jargão do svn, "revisões") de todos os arquivos sob o controle de versão. O cliente svn é responsável por gerenciar uma cópia local de trabalho independente do repositório.
A cópia local de trabalho (working copy) é independente da versão existente no repositório: uma alteração nela não resulta necessariamente uma alteração no respositório a não ser que as diferenças entre a cópia local e o repositório sejam submetidas pelo cliente ao repositório no servidor SVN criando-se uma nova revisão (um "commit" da cópia de trabalho).
A "working copy" também pode ser sincronizada com a versão HEAD (versão atual) do repositório (um "update" na cópia de trabalho) e também pode ser combinada com a versão HEAD do repositório (um operação "merge").
Uma breve descrição dos comandos mais importantes do svn: