2009-03-25 6 views
11

どのように私はプログラムのリビジョンの説明とSVNサーバーからのC言語での著者を取得するのですか?プログラムでどのようにC#でSVNリビジョンの説明と作成者を取得するには?

+0

実際にSVNサーバーに問い合わせるか、最新のSVN cのリビジョン番号/説明を取得しますかあなたのプロジェクトディレクトリにあるのでしょうか? – Noldorin

+0

SVNサーバーに問い合わせたい –

答えて

17

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

こんにちは、最後のリビジョンの数値を取得する方法は? –

5

使用するC#SVN APIが必要です。素早いGoogle検索でSharpSVNが見つかりました。

特定のリビジョンのためのメッセージや作者

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

名前にSVNのライブラリがいくつかあることは知っていますが、以前に行った人からこれをやる方法を知りたいと思っています。 –

3

を取得するために、私たちはコミット特定のリポジトリの通知を必要として、しばらく前にこれに似た何かをやりました。

私はSubversionNotifyを使用してこれを終了しました。そこのコードを見て、あなたが使えるものを見ることができます。

私はSubversionNotifyがsvnlookからの出力を取得していると思います。 Svnlookには、あなたが探しているものを得るためのかなりの議論があります。

あなたはリビジョン番号とリポジトリを知っている場合:

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

は、あなたのタイムスタンプをユーザーの正味メッセージ長をログインして、ログメッセージ自体ウィル:

SharpSvnを使用して
 
bob 
2009-03-25 11:10:49 -0600 (Wed, 25 Mar 2009) 
19 
Did stuff with things. 
関連する問題