Subversion: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
SunBot (discussione | contributi)
m Bot: Standardizzo interwiki
Recupero di 3 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.9.5
 
(114 versioni intermedie di 65 utenti non mostrate)
Riga 1:
{{Software
{{Infobox_Software
|nomeNome = Subversion
|logoScreenshot =
|screenshotDidascalia =
|UltimaVersioneBeta =
|didascalia =
|DataUltimaVersioneBeta =
|sviluppatore = [[CollabNet]]
|SistemaOperativo = multipiattaforma
|versione_ultimo_rilascio = 1.5.4
|Linguaggio =
|data_ultimo_rilascio = [[24 ottobre]] [[2008]]
|Genere = controllo versione
|sistema_operativo = [[Cross-platform]]
|Licenza =
|genere = [[Controllo versione]]
|SoftwareLibero =
|licenza = [[Apache License]]
|Lingua =
|sito_web = [http://subversion.tigris.org subversion.tigris.org/]
}}
'''Subversion''' (notoabbreviato anche comein ''SVN'svn''', che) è ilun nome[[software]] deldi suoversionamento ''client''e a riga[[controllo di comando)versione]] èprodotto unda sistema[[Apache diSoftware Foundation]] e distribuito come software [[controlloopen versionesource]] progettatosotto [[licenza Apache]]. Progettato da [[CollabNet Inc.]] con lo scopo di essere il naturale successore di [[Concurrent_Versions_SystemConcurrent Versions System|CVS]], oramai considerato superato, gli [[programmatore informatico|sviluppatori]] lo usano per mantenere le versioni di un [[file]], come ad esempio un [[codice sorgente]], nella versione corrente e in tutta la storia del file stesso.
 
== CaratteristicheStoria ==
CollabNet ha fondato il progetto Subversion nel 2000 come sforzo per sviluppare un sistema di controllo versione open source che funzionasse in modo simile a [[Concurrent Versions System|CVS]], ma che correggesse i bug e fornisse alcune funzionalità mancanti in CVS.<ref name=":0">{{Cita web|url=https://svnbook.red-bean.com/en/1.7/svn.intro.whatis.html#svn.intro.history|titolo=What Is Subversion?|sito=svnbook.red-bean.com|accesso=1º febbraio 2024}}</ref> Entro il 2001, Subversion aveva progredito a sufficienza da ospitare il proprio codice sorgente,<ref name=":0" /> e nel febbraio 2004 è stata rilasciata la versione 1.0.<ref>{{Cita web|url=https://lwn.net/Articles/72498/|titolo=subversion 1.0 is released [LWN.net]|sito=lwn.net|accesso=1º febbraio 2024}}</ref> Nel novembre 2009, Subversion è stato accettato nell'Apache Incubator: questo segnò l'inizio del processo per diventare un progetto standard di primo livello di Apache.<ref name="SDT2011">{{cita web|url=http://www.sdtimes.com/link/33886|titolo=Subversion joins forces with Apache|autore=Rubinstein, David|editore=SD Times|data=4 novembre 2009|accesso=15 marzo 2012|urlarchivio=https://web.archive.org/web/20091111000653/http://www.sdtimes.com/SUBVERSION_JOINS_FORCES_WITH_APACHE/By_David_Rubinstein/About_APACHE_and_SUBVERSION/33886}}</ref> È diventato un progetto di primo livello di Apache il 17 febbraio 2010.<ref>{{cita web|url=http://subversion.wandisco.com/component/content/article/1/43.html|urlarchivio=https://web.archive.org/web/20110512171259/http://subversion.wandisco.com/component/content/article/1/43.html|titolo=Subversion is now Apache Subversion|data=18 febbraio 2010|accesso=15 marzo 2012}}</ref>
 
== Caratteristiche ==
La '''versione 1.0''' di Subversion (rilasciata il [[23 febbraio]] [[2004]]) offre le seguenti caratteristiche:
[[File:Kdesvn.png|thumb|upright=1.1|[[Kdesvn]]]]
[[File:TortoiseSVN.png|thumb|upright=1.1|[[TortoiseSVN]]]]
[[File:RabbitVCS_screenshot.png|thumb|upright=1.1|[[RabbitVCS]]]]
La '''versione 1.0''' di Subversion (distribuita il 23 febbraio [[2004]]) offre le seguenti caratteristiche:
 
* Comprende gran parte delle caratteristiche di CVS.
* Le directory, i cambi di nome, e i [[metadato|metadati]] dei file sono sotto controllo versione.
* Le ''commit'' sono vere [[Transazione (basi di dati)|transazioni]] atomiche. Una commit interrotta non lascia il [[repository]] in uno stato di [[incoerenza]] .
* Come server centralizzato si può usare il [[server Web]] [[Apache HTTP Server|Apache]], tramite il protocollo [[WebDAV]]/DeltaV, oppure un server indipendente che usa un [[protocollo di comunicazione|protocollo]] personalizzato basato su [[TCP/IP]].
* Il ''branching'' e il ''tagging'' sono operazioni veloci, che richiedono un tempo indipendente dalla dimensione dei dati.
* Il progetto è nativamente [[client/server]], ed è basato su una libreria stratificata.
* Il protocollo client/server invia solo le differenze in entrambe le direzioni, e quindi i costi di comunicazione sono proporzionali alla dimensione delle modifiche, non alla dimensione dei dati.
* I [[file binario|file binari]] sono gestiti efficientemente.
* L'output dei comandi è analizzabile da un programma esterno, e viene fornito un log opzionale in [[XML]].
* La licenza è [[Open Source]], simile a quella di [[Apache_HTTP_ServerApache HTTP Server|Apache]].
 
La '''versione 1.1''' (distribuita il 29 settembre 2004) ha aggiunto le seguenti caratteristiche, fra le altre:
 
* I messaggi dei programmi sono internazionalizzati.
* I link simbolici sono sotto controllo versione.
* Viene supportato un nuovo formato opzionale del ''[[repository]]'', FSFS, che non fa uso di un gestore di database, ma memorizza le revisioni direttamente nel [[file system]].
 
La '''versione 1.2''' (rilasciatadistribuita nelil 21 maggio 2005) ha aggiunto le seguenti caratteristiche:
 
* Lock dei file per i file inconciliabili
* Completo autoversionamento [[Web-based_Distributed_Authoring_and_Versioningbased Distributed Authoring and Versioning|WebDAV]]
La '''versione 1.3''' è stata distribuita il 30 dicembre 2005.
 
La '''versione 1.4''' è stata distribuita il 10 settembre 2006.
 
La '''versione 1.5''' è stata distribuita il 19 giugno 2008.
 
La '''versione 1.6''' è stata distribuita il 20 marzo 2009.
 
La '''versione 1.7''' è stata distribuita il 11 ottobre 2011.
 
La '''versione 1.8''' è stata distribuita il 18 giugno 2013.
 
La '''versione 1.9''' è stata distribuita il 5 agosto 2015.
 
La '''versione 1.10''' è stata distribuita il 13 aprile 2018.
 
La '''versione 1.11''' (distribuita il 11 gennaio 2019) ha aggiunto le seguenti caratteristiche:
 
* Migliorato il supporto dello "shelving" (cioè la possibilità di mettere da parte delle modifiche locali senza effettuare il commit). Funzionalità sperimentale.
* Migliorato il risolutore interattivo dei conflitti.
 
== Software correlato ==
 
=== I ''Clientclient'' ===
* [[Kdesvn]] è un client [[Interfaccia grafica|GUI]] per [[Linux]] ([{{cita testo|url=http://kdesvn.alwins-world.de/trac.fcgi |titolo=link]|urlarchivio=https://web.archive.org/web/20080423201114/http://kdesvn.alwins-world.de/trac.fcgi }}).
* [[RapidSVN]] è un client GUI per [[Microsoft Windows]] o [[Linux]], scritto in [[C++]] usando il [[framework]] [[wxWidgets]] ([{{cita testo|url=http://rapidsvn.tigris.org/ |titolo=link]|urlarchivio=https://web.archive.org/web/20100209042421/http://rapidsvn.tigris.org/ }}).
* [[eSvn]] è un client basato su [[Qt_Qt (toolkit)|Qt]] ([{{cita testo|url=http://esvn.umputun.com/ |titolo=link]}}).
* [[JSVN]] è un client basato su [[Swing_Swing (Java)|Java Swing]] ([{{cita testo|url=http://jsvn.alternatecomputing.com/ |titolo=link]}}).
* [[TortoiseSVN]] è un'estensione della shell di [[Microsoft Windows]] ([{{cita testo|url=http://tortoisesvn.tigris.org/ |titolo=link]|accesso=19 luglio 2020|dataarchivio=7 aprile 2006|urlarchivio=https://web.archive.org/web/20060407095620/http://tortoisesvn.tigris.org/|urlmorto=sì}}).
* [[RabbitVCS]] è un'estensione della shell di [[Linux]].
* [[svnX]] è un client GUI per [[Mac OS X]] ([http://www.lachoseinteractive.net/en/community/subversion/svnx/features/ link]).
* [[svnX]] è un client GUI per [[macOS]] ({{cita testo|url=http://www.lachoseinteractive.net/en/community/subversion/svnx/features/|titolo=link|accesso=20 giugno 2020|dataarchivio=18 giugno 2016|urlarchivio=https://web.archive.org/web/20160618161540/http://www.lachoseinteractive.net/en/community/subversion/svnx/features/|urlmorto=sì}}).
* [[AnkhSVN]] è ''addin'' per Microsoft Visual Studio .NET. Permette di eseguire le più comuni operazioni di Subversion direttamente dall'interno dell'IDE VS.NET.
* [[AnkhSVN]] è ''addin'' per [[Microsoft Visual Studio]]. Permette di eseguire le più comuni operazioni di Subversion direttamente dall'interno dell'IDE VS.
* [[Versions]] è un nuovo client per [[Mac OS X]], dotato di un'interfaccia coerente con il Sistema Operativo [[Apple]] ([http://www.versionsapp.com/ link]).
* Versions è un nuovo client per [[macOS]], dotato di un'interfaccia coerente con il Sistema Operativo [[Apple]] ({{cita testo|url=http://www.versionsapp.com/|titolo=link}}).
 
=== Le alternative ===
Ci sono molti altri sistemi di controllo versione, alcuni dei quali mirano a soddisfare gli stessi obiettivi di Subversion. GiàOltre dettoal digià citato [[Concurrent_Versions_SystemConcurrent Versions System|CVS]], che è il predecessore di di Subversion, meritameritano una citazione anche [[Git_Git (software)|git]], creato da [[Linus Torvalds]], e [[Mercurial]] ({{cita testo|url=http://www.selenic.com/mercurial/wiki/|titolo=link}}), scelto da [[Google]] per affiancare SVN in [[Google Code]].<ref>{{cita testo|url=https://google-code-updates.blogspot.com/2009/04/mercurial-support-for-project-hosting.html|titolo=Mercurial support for Project Hosting on Google Code|urlarchivio=https://web.archive.org/web/20130719075544/http://google-code-updates.blogspot.com/2009/04/mercurial-support-for-project-hosting.html }} (Google Code Blog)</ref>
 
=== AltriProgetti progetti interessanticorrelati ===
* Il progetto open source [{{cita testo|url=http://trac.edgewall.com/ |titolo=Trac]}} integra Subversion, un issue tracker, e la funzionalità [[Wiki]] in una sola interfaccia-utente basata su Web.
* Il progetto open source [{{cita testo|url=http://subclipse.tigris.org |titolo=Subclipse]|urlarchivio=https://web.archive.org/web/20110825210658/http://subclipse.tigris.org/ }} integra Subversion in [[Eclipse (informatica)|Eclipse]].
* Il progetto open source [[SVK (software)|SVK]] è un sistema di [[controllo versione decentralizzato]] scritto in [[Perl]], che permette di operare senza connessione a Internet e fornisce algoritmi avanzati per la riconciliazione (merging).
* Il progetto open source [{{cita testo|url=http://tmate.org/svn/ |titolo=JavaSVN]|accesso=23 giugno 2019|dataarchivio=12 agosto 2005|urlarchivio=https://web.archive.org/web/20050812004536/http://tmate.org/svn/|urlmorto=sì}} è una libreria per client di Subversion scritta interamente in Java.
 
== Collegamenti esterniNote ==
<references/>
{{en}} [http://subversion.tigris.org/ Sito ufficiale]
 
== Voci correlate ==
[[Categoria:Gestione del software]]
* [[Apache Software Foundation]]
* [[Controllo versione]]
 
== Altri progetti ==
{{interprogetto}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{cita web|url=http://svnbook.red-bean.com/|titolo=''Controllo di Versione con Subversion''}}
 
{{Apache}}
.
{{Controllo di autorità}}
{{portale|software libero}}
 
[[Categoria:Software di controllo versione liberi]]
[[af:Subversion]]
[[ar:سب فيرجن]]
[[ca:Subversion]]
[[cs:Subversion]]
[[da:Subversion]]
[[de:Subversion (Software)]]
[[en:Subversion (software)]]
[[eo:Subversion]]
[[es:Subversion]]
[[eu:Subversion]]
[[fi:Subversion]]
[[fr:Subversion (logiciel)]]
[[gl:Subversion]]
[[hi:सबवर्ज़न]]
[[hu:Subversion]]
[[id:Subversion]]
[[ja:Subversion]]
[[ko:서브버전]]
[[lt:Subversion]]
[[nl:Subversion]]
[[no:Subversion]]
[[pl:Subversion]]
[[pt:Subversion]]
[[ru:Subversion]]
[[sk:Subversion]]
[[sr:SVN]]
[[sv:Subversion (versionshanteringssystem)]]
[[ta:சப்வேர்சன்]]
[[uk:Subversion]]
[[vi:Subversion]]
[[zh:Subversion]]