gpt4 book ai didi

c# - SharpSVN 覆盖现有文件和文件夹

转载 作者:太空宇宙 更新时间:2023-11-03 13:27:49 26 4
gpt4 key购买 nike

在初始结帐之前,我必须遵循本地计算机上的目录结构:

base_dir/somefolder/someotherfolder/file.txt

结帐后我想要以下内容:

base_dir/somefolder/someotherfolder/file.txt
base_dir/somefolder/checked_out_folder/new_file.txt

所以基本上是结帐将新文件添加到现有目录中。然而,我无法让它与 SharpSvn 一起工作。 check out 时,下载所有本地不存在的文件,本地已存在的文件或文件夹不受影响。

TortoiseSvn 似乎能够做到这一点。我读过 here它应该以某种方式工作,但就像那个问的人指出的那样,将选项 AllowObstructions 设置为 true 没有任何作用。

我的结帐代码(我使用的是 SharpSVN 1.7):

using (SvnClient client = new SvnClient()) {
client.Progress += new EventHandler<SvnProgressEventArgs>(cl_Progress);
SvnCheckOutArgs sco = new SvnCheckOutArgs();
sco.Depth = SvnDepth.Infinity;
sco.AllowObstructions = true;
client.CheckOut(from, to, out result);
}

我不知道该怎么做,SharpSvn 上的文档非常薄。我希望这里有人可以帮助我。

最佳答案

即使使用 .AllowObstructions,仍然有可能发生冲突。

例如使用 AllowObstructions,一个已经存在的本地文件作为新文件的修改版本保留在原地。但是,如果您在其位置添加一个目录,则会发生树冲突。

(我真的建议不要使用 .AllowObstructions,因为这样可以很容易地在另一个文件上提交一个新文件,而不会注意到您不小心这样做了)

在很多情况下,您可能会遇到障碍或跳过,因此您应该真正查看通知(客户端或 args 对象上的.Notify 事件)或更新后的状态。

即使结帐到空目录(或不存在的位置)也可能导致冲突...例如在 svn:externals 定义有问题的情况下。

关于c# - SharpSVN 覆盖现有文件和文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21762387/

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