Sharpsvn からリビジョンのリストを取得するにはどうすればよいですか
4 に答える
のメタデータSvnLogEventArgs
(からのコレクションとして返されるGetLog
)を見ると、それはから派生しSvnLoggingEventArgs
ています。これには、Author、Revision、Time、およびLogMessage(とりわけ)のプロパティがあります。
各SvnLogEventArgs
アイテムには、ChangedPaths
SvnChangeActionおよびPathのプロパティを持つのコレクションがあります。
この方法ですべてのログ情報のリストを取得できます。
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
これは、コマンド ラインからツールを使用する場合と似ています。お役に立てれば。
パスの変更のリストを取得するために、答えに関する質問が実際に何であるかを推測するのは、おそらく SvnClient.Log() です。
別の答えは次のとおりです。
for (int i = 1; i < 101; i++)
yield return i;
リポジトリの最初の 100 リビジョンを取得するには ;-)
SvnClient.Log() の使用方法の例については、 「 SharpSvn を使用して日付範囲内のログ エントリを取得する」を参照してください。