Questo articolo è stato pubblicato 3 anni 6 mesi 15 giorni giorni fa quindi alcuni contenuti o informazioni presenti in esso potrebbero non essere più validi.Per un progetto personale ho la necessità di collegarmi ad un repository subversion e fare delle semplici operazioni di update e checkuot in c#. Non ci sono molti framework che fanno questo. Io ne ho trovati due molto interessanti DotSvn, ma soprattutto SharpSvn. Il primo vanta una re-implementazione nativa in c# senza la necessità di librerie esterne. Pur essendo un ottimo prodotto, per il momento DotSvn supporta solo i file system repository, quindi niente http. Non fa al caso mio. SharpSvn invece è libreria completa sotto ogni punto di vista. Supporta diversi tipi di repository (http, file) e offre una gamma di funzionalità decisamente elevata. L’unico requisito richiesto è il Microsoft Visual C++ 2005 SP1 runtime. Che dal mio punto di vista non rappresenta un limite.
A questo punto non resta che provarlo. Ecco un semplice esempio.
using (SvnClient client = new SvnClient()) { // definisco un nuovo repository URI Uri repo = new Uri("http://sharpsvn.googlecode.com/svn/trunk/"); // tramite SvnLogArgs e SvnRevisionRange è posibile impostare // un revision range per estrarre i log message // in questo caso dalla Revision 1 alla 100. SvnLogArgs arg = new SvnLogArgs(); arg.Range = new SvnRevisionRange(1, 100); // estraggo una collezione di SvnLogEventArgs Collection col; client.GetLog(repo, arg, out col); // a questo punto visualizzo tutti i Log ritornati if (col != null) { foreach (SvnLogEventArgs args in col) { Trace.WriteLine(string.Format("rev: {0} - {1}", args.Revision, args.LogMessage)); } } }
Semplice no?! Favoloso!.
hai il mi ostesso cognome!ahah, vabbè,giusto per dire,,,ciao e buone cose