Massimo Oliviero

I deliri digitali di un programmatore informatico e aspirante fotografo…
novembre 5th, 2008 by Massimo

Subversion in .net

closeQuesto 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!.

Comments

One Response to “Subversion in .net”
  1. hai il mi ostesso cognome!ahah, vabbè,giusto per dire,,,ciao e buone cose

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">