Как проверить, находится ли файл под контролем исходного кода в SharpSvn? - PullRequest
11 голосов
/ 15 мая 2009

Привет, я использую C # и библиотеку SharpSvn. Я хотел бы проверить, находится ли файл под контролем исходного кода, прежде чем добавлять его с помощью SvnClient.Add. Когда я делаю это для файла, который уже находится под SVN, я получаю сообщение об ошибке: «уже находится под контролем версии».

Ответы [ 2 ]

10 голосов
/ 20 мая 2009

Это довольно хорошо демонстрирует, как это сделать, используя статус

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));
}
6 голосов
/ 10 августа 2009

Если вы хотите узнать, находится ли файл под контролем источника, вы можете использовать .Info() / .GetInfo() Этот метод обычно быстрее, так как он не должен проверять, изменился ли файл с момента его извлечения.

...