2009-03-25 7 views

Antwort

17

Mit SharpSvn:

using(SvnClient client = new SvnClient()) 
{ 
    Collection<SvnLogEventArgs> list; 

    // When not using cached credentials 
    // c.Authentication.DefaultCredentials = new NetworkCredential("user", "pass")l 

    SvnLogArgs la = new SvnLogArgs { Start = 128, End = 132 }; 
    client.GetLog(new Uri("http://my/repository"), la, out list); 

    foreach(SvnLogEventArgs a in list) 
    { 
     Console.WriteLine("=== r{0} : {1} ====", a.Revision, a.Author); 
     Console.WriteLine(a.LogMessage); 
    } 
} 
+1

Hallo, und wie bekomme ich die letzte Revision? –

5

Sie müssen eine C# SVN API zu verwenden finden. Eine schnelle Google-Suche gefunden SharpSVN.

Zur Meldung und Autor für bestimmte Revision

SvnClient client = new SvnClient(); 
SvnUriTarget uri = new SvnUriTarget("url", REV_NUM); 

string message, author; 
client.GetRevisionProperty(uri, "svn:log", out message); 
client.GetRevisionProperty(uri, "svn:author", out author); 
+0

abfragen Ich weiß, dass es einige Bibliotheken mit SVN in seinem Namen gibt, aber was ich gerne wissen würde, wie man das von jemandem macht, der es vorher getan hat. –

3

ich eine Weile in etwa so etwas wieder getan haben, mussten wir die Notifizierung bestimmter Repository verpflichtet.

Ich endete mit SubversionNotify, um dies zu tun. Sie können sich den Code dort ansehen und sehen, was Sie verwenden können.

Ich glaube, SubversionNotify ist Grabbing-Ausgabe von Svnlook. Svnlook hat einige Argumente, die das bekommen können, wonach Sie suchen.

Wenn Sie wissen, die Revisionsnummer und Repository:

 
svnlook info -r [rev#] /path/to/repo 

Werden Sie den User-net, Zeitstempel, Nachrichtenlänge Log, und die Log-Nachricht selbst:

 
bob 
2009-03-25 11:10:49 -0600 (Wed, 25 Mar 2009) 
19 
Did stuff with things. 
Verwandte Themen