追加を試みる前に、SharpSVN を使用してファイルのステータスを照会する簡単な C# アプリを作成しました。この目的のために私がさまざまな場所で見た例では、SvnClient の GetStatus メソッドを呼び出し、フル パスと out パラメータを SvnStatusEventArgs のコレクションに渡します。
私の理解では、ファイルの場合、GetStatus は、NotVersioned、Missing、Normal などのステータスで、カウントがちょうど 1 の SvnStatusEventArgs コレクションを返す必要があります。
私のアプリケーションでは、ソース管理下のファイルに対して GetStatus を呼び出すと、コレクション カウント0が返されます。
SvnClient foo = new SvnClient();
Collection<SvnStatusEventArgs> statuses;
foo.GetStatus("C:\\Temp\\svnu\\Program.cs", new SvnStatusArgs {Depth = SvnDepth.Empty}, out statuses);
statuses[0].LocalContentStatus 値が Normal で 1 を期待している場合、statuses.Count の値はゼロです。この期待は間違っていますか?ソース管理にないファイルを参照するパスへの呼び出しの場合、呼び出しは NotVersioned の status[0].LocalContentStatus 値で機能します。
パスは作業コピーであることが確認され、Program.cs ファイルは実際に Subversion に登録されています。SharpSVN バージョン 1.7005.2163.13448 および VS2010 を実行しています。
私の明らかな混乱を解消してくれてありがとう。
編集詳細情報: Program.cs を変更した後、コミットはしていませんが、この同じコード スニペットは、LocalContentStatus が "Modified" の単一のステータス値を返します。ファイルをコミットした後、元の動作 (ステータス値が返されない) が返されました。