2

Sharpsvn からリビジョンのリストを取得するにはどうすればよいですか

4

4 に答える 4

7

のメタデータSvnLogEventArgs(からのコレクションとして返されるGetLog)を見ると、それはから派生しSvnLoggingEventArgsています。これには、Author、Revision、Time、およびLogMessage(とりわけ)のプロパティがあります。

SvnLogEventArgsアイテムには、ChangedPathsSvnChangeActionおよびPathのプロパティを持つのコレクションがあります。

于 2010-05-29T11:43:28.910 に答える
4

この方法ですべてのログ情報のリストを取得できます。

var client = new SvnClient();

System.Collections.ObjectModel.Collection<SvnLogEventArgs> logEventArgs;

client.GetLog("targetPath", out logEventArgs);

すべての logEventArgs を反復処理すると、LogMessage、作成者などの有用な情報が得られます。


何をしているのかわかりませんが、SvnWorkingCopyClient を使用して作業コピーの最新バージョンをチェックしています:

var workingCopyClient = new SvnWorkingCopyClient();

SvnWorkingCopyVersion version;

workingCopyClient.GetVersion(workingFolder, out version);

ローカル作業リポジトリの最新バージョンは、次の方法で利用できます。

long localRev = version.End;

リモート リポジトリの場合は、次を使用します。

 var client = new SvnClient();

 SvnInfoEventArgs info;

 client.GetInfo(targetUri, out info);

 long remoteRev = info.Revision;

代わりは。

svnversionこれは、コマンド ラインからツールを使用する場合と似ています。お役に立てれば。

于 2010-08-31T12:42:37.133 に答える
2

パスの変更のリストを取得するために、答えに関する質問が実際に何であるかを推測するのは、おそらく SvnClient.Log() です。

別の答えは次のとおりです。

for (int i = 1; i < 101; i++)
  yield return i;

リポジトリの最初の 100 リビジョンを取得するには ;-)

SvnClient.Log() の使用方法の例については、 「 SharpSvn を使用して日付範囲内のログ エントリを取得する」を参照してください。

于 2010-05-25T13:40:26.267 に答える