Я хотел бы добавить все неверсионные файлы в каталоге в SVN, используя SharpSVN.
Сначала я попробовал обычные svn-команды в командной строке:
C:\temp\CheckoutDir> svn status -v
Я вижу все подкаталоги, все файлы, которые уже зарегистрированы, несколько новых файлов с пометкой "?", Ничего с указанием блокировки "L"
C:\temp\CheckoutDir> svn add . --force
В результате будут добавлены все новые файлы в подкаталогах, которые уже находятся под контролем версий.
Я бы хотел сделать то же самое, используя SharpSVN. Я копирую несколько дополнительных файлов в тот же каталог и запускаю этот код:
...
using ( SharpSvn.SvnClient svn = new SvnClient() )
{
SvnAddArgs saa = new SvnAddArgs();
saa.Force = true;
saa.Depth = SvnDepth.Infinity;
try
{
svn.Add(@"C:\temp\CheckoutDir\." , saa);
}
catch (SvnException exc)
{
Log(@"SVN Exception: " + exc.Message + " - " + exc.File);
}
}
Но возникает SvnException:
- SvnException.Message: рабочая копия 'C: \ temp \ CheckoutDir' заблокирована
- SvnException.File: .. \ .. \ .. \ subversion \ libsvn_wc \ lock.c "
Нет другого экземпляра svnclient в моем коде,
Я также пытался позвонить
svn.cleanup()
прямо перед добавлением, но безрезультатно.
Поскольку документация довольно расплывчата;),
Мне было интересно, знает ли кто-нибудь здесь ответ.
Заранее спасибо!
Jan