Subversion is a free/open-source version control system. That is, Subversion manages files and directories over time. A tree of files is placed into a central repository. The repository is much like an ordinary file server, except that it remembers every change ever made to your files and directories. This allows you to recover older versions of your data, or examine the history of how your data changed. In this regard, many people think of a version control system as a sort of “time machine”.
Subversion è un sistema di controllo di versione libero e open-source. Cioè Subversion gestisce file e directory nel tempo. Un'alberatura di file è inserita all'interno di un repository centrale. Il repository è paragonabile ad un file server, in più esso ricorda qualsiasi cambiamento apportato ai file e alle directory. Ciò permette di ripristinare vecchie versioni dei dati o di esaminare lo storico dei cambiamenti. Per questo motivo, molte persone considerano un sistema di controllo di versione come una sorta di «macchina del tempo».
Subversion can access its repository across networks, which allows it to be used by people on different computers. At some level, the ability for various people to modify and manage the same set of data from their respective locations fosters collaboration. Progress can occur more quickly without a single conduit through which all modifications must occur. And because the work is versioned, you need not fear that quality is the trade-off for losing that conduit—if some incorrect change is made to the data, just undo that change.
Subversion può accedere al suo repository attraverso reti di computer; ciò gli permette di essere utilizzato da più persone contemporaneamente su più computer. In qualche modo, la possibilità per più persone di modificare e gestire lo stesso insieme di dati, dalle rispettive postazioni, alimenta la collaborazione. I Miglioramenti possono intervenire più velocemente se le modifiche non devono per forza passare per un unico canale. Dato che il lavoro è sotto controllo di versione, non c'è da temere che la qualità scadente sia il prezzo da pagare per poter evitare quell'unico canale—se vengono applicate ai dati alcune modifiche non corrette, basta annullare tali cambiamenti.
Some version control systems are also software configuration management (SCM) systems. These systems are specifically tailored to manage trees of source code, and have many features that are specific to software development—such as natively understanding programming languages, or supplying tools for building software. Subversion, however, is not one of these systems. It is a general system that can be used to manage any collection of files. For you, those files might be source code—for others, anything from grocery shopping lists to digital video mixdowns and beyond.
Alcuni sistemi per il controllo di versione sono anche sistemi di software configuration management (SCM). Questi sistemi sono orientati specificatamente alla gestione di alberature di codice sorgente e hanno molte caratteristiche che sono specifiche dello sviluppo software—come la capacità nativa di riconoscere i linguaggi di programmazione o l'integrazione di strumenti per la compilazione del software. Subversion, tuttavia, non è uno di questi sistemi. È un sistema generico che può essere utilizzato per gestire qualsiasi insieme di file. Per qualcuno questi file possono contenere codice sorgente—per altri qualunque altra cosa, dalla lista della spesa a montaggi video digitali e così via.