Riflettendo sull'enorme numero di dati che finiscono in un repository dopo qualche tempo di utilizzo, verrebbe da pensare che lo spazio su disco occupato dai nostri repository sia enorme. Fortunatamente non è così. Lo spazio occupato non è molto, e questo è dovuto ad una serie di accorgimenti che Subversion usa.
- Innanzitutto, quando si carica una nuova revisione, oppure si crea un nuovo ramo, una nuova etichetta o comunque una copia di un progetto o di una sottocartella, la maggior parte dei file (tutti, nel caso di una copia) non vengono realmente duplicati. A parte i file che sono stati effettivamente modificati, per tutti gli altri viene eseguita invece una duplicazione solo "virtuale"; cioè non viene creata sul disco una nuova copia fisica del file, ma la copia esistente viene invece associata a due diversi percorsi e/o revisioni del repository. Per chi si intende un poco di filesystem Unix, il concetto è lo stesso degli hard link.
- Tutti i file testuali vengono compressi, e come è noto i file di testo hanno un alto rapporto di compressione.
- Il formato del "filesystem" utilizzato per salvare i dati implementa tecniche di "deltified storage". Si tratta di un metodo che riconosce e raggruppa i blocchi di dati molto simili tra loro, prendendo uno di essi come riferimento ed esprimendo tutti i blocchi successivi semplicemente come l'elenco delle differenze rispetto a un questo blocco principale.
Questi accorgimento fanno sì che non ci dobbiamo particolarmente preoccupare di creare molte revisioni e/o molte copie: l'aumento del disco sarà proporzionale solo alle effettive modifiche caricate.
Note conclusive
La guida finisce qui. Non aveva l'obiettivo di esaurire tutte le informazioni su Subversion. Tale programma, raggiunta la maturita, è diventato uno strumento potente e dotato di numerose funzionalità avanzate. Per una più approfondita conoscenza dello strumento è possibile consultare la guida ufficiale, le faq, oppure iscriversi o cercare negli archivi delle mailing list.