Subversion, o SVN, è usato per mantenere versioni attuali e storiche di file come documentazione, codici sorgente e pagine web. Un SVN consente all'utente di esaminare la cronologia di come i dati sono cambiati o recuperare le versioni precedenti dei dati.
SVN è un sistema di controllo versione sviluppato nel 2000 da CollabNet Inc. Il suo obiettivo è quello di sostituire il sistema di versione simultanea ampiamente utilizzato. SVN è ampiamente utilizzato nella comunità open source, incluse le basi software Python e Apache. Google ha anche un sistema SVN per i suoi progetti open-source.
SVN è indicato come un repository centrale che memorizza i dati con versione. Ha un programma client che gestisce le riflessioni locali di parti dei dati con versione o della copia di lavoro. Più client SVN possono accedere al repository attraverso reti e allo stesso tempo.
Il comando checkout SVN viene utilizzato per creare la copia di lavoro, da cui l'utente può modificare o aggiornare i contenuti. Un client deve prima utilizzare il comando checkout SVN per accedere al server SVN. Il comando checkout viene anche utilizzato per scaricare le fonti dal repository centrale SVN alla copia di lavoro. Qualsiasi modifica apportata alla copia di lavoro deve essere salvata nel repository tramite il commit SVN.