我希望您能使用SharpSVN向SVN添加目录下的所有未版本化文件。我首先尝试在命令行上使用常规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