12

こんにちは、C# と SharpSvn ライブラリを使用しています。SvnClient.Add でファイルを追加する前に、ファイルがソース管理下にあるかどうかを確認したいと思います。すでにSVNの下にあるファイルでそれを行うと、エラーが発生します:「すでにバージョン管理下にあります」。

4

2 に答える 2

10

これは、ステータスを使用してそれを行う方法をかなりよく示しています

using(SvnClient client = new SvnClient())
{
    SvnStatusArgs sa = new SvnStatusArgs();
    sa.Depth = SvnDepth.Empty; // Adjust this to check direct files, or (recursive) directories etc

    Collection<SvnStatusEventArgs> statuses;
    client.GetStatus("c:\\somefile.txt", sa, out statuses); 

    Assert.That(statuses.Count, Is.EqualTo(1));
    Assert.That(SvnStatus.NotVersioned, Is.EqualTo(statuses[0].LocalContentStatus));
}
于 2009-05-19T21:22:33.773 に答える
6

ファイルがソース管理下にあるかどうかだけを知りたい場合は、.Info()/を使用できます.GetInfo()。この方法は、チェックアウト後にファイルが変更されたかどうかを確認する必要がないため、通常は高速です。

于 2009-08-09T21:35:28.257 に答える