そこにそれを行うための最も簡単な方法があるが、ここで、いくつかの異なるapprochです:
sharpsvnでWorkingCopyとリポジトリの状態の両方ですべてのファイルのステータスをretriveし、その後
それらの間を比較すること
ステータスコマンドを使用します。
例:
using (SvnClient cl = new SvnClient())
cl.Status(YourPath, new SvnStatusArgs {
Depth = SvnDepth.Infinity, ThrowOnError = true,
RetrieveRemoteStatus = true, Revision = SvnRevision.Head},
new EventHandler<SvnStatusEventArgs>(
delegate(object s, SvnStatusEventArgs e) {
switch (e.LocalContentStatus) {
case SvnStatus.Normal:break;
case SvnStatus.None: break;
case SvnStatus.NotVersioned: break;
case SvnStatus.Added:break;
case SvnStatus.Missing: break;
case SvnStatus.Modified: break;
case SvnStatus.Conflicted: break;
default: break;
}
switch (e.RemoteContentStatus) {
case SvnStatus.Normal:break;
case SvnStatus.None: break;
case SvnStatus.NotVersioned: break;
case SvnStatus.Added:break;
case SvnStatus.Missing: break;
case SvnStatus.Modified: break;
case SvnStatus.Conflicted: break;
default: break;
}
}));
このようにsvn diff --summarizeを呼び出すと、特定のリビジョンで2つのURLを比較します。ステータスは作業コピーを特定のリビジョンと比較します。 –