gpt4 book ai didi

c# - 使用 SharpSVN 添加文件

转载 作者:太空狗 更新时间:2023-10-29 22:56:19 26 4
gpt4 key购买 nike

我想使用 SharpSVN 将目录下的所有未版本化文件添加到 SVN。

我首先在命令行上尝试了常规的 svn 命令:

C:\temp\CheckoutDir> svn status -v

我看到了所有的子目录,所有已经 checkin 的文件,一些标有“?”的新文件,没有任何带有“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()

就在添加之前,但无济于事。

documentation相当模糊;) 我想知道这里是否有人知道答案。

提前致谢!

一月

最佳答案

使用我的工具 http://svncompletesync.codeplex.com/或将其作为样本。它完全可以满足您的需求。

关于c# - 使用 SharpSVN 添加文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/964890/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com