SharpSVN无法更新文件。

6
                    SvnUpdateArgs asdf = new SvnUpdateArgs();
                    asdf.AllowObstructions = false;
                    asdf.Depth = SvnDepth.Infinity;
                    asdf.IgnoreExternals = false;
                    asdf.UpdateParents = true;
                    asdf.Revision = SvnRevision.Head;
                    asdf.Conflict += new EventHandler<SvnConflictEventArgs>(asdf_Conflict);

                    asdf.Notify += new EventHandler<SvnNotifyEventArgs>(asdf_Notify);
                    asdf.Progress += new EventHandler<SvnProgressEventArgs>(asdf_Progress);


                    SvnUpdateResult res;

                    client.Status(dir, new EventHandler<SvnStatusEventArgs>(Status_Hook));



                    if (client.Update(dir, asdf, out res))
                    {
                        Console.WriteLine("Updated");
                        Console.WriteLine(res.Revision);
                        Console.WriteLine(res.ResultMap);
                    }

    static void asdf_Conflict(object sender, SvnConflictEventArgs e)
    {
        e.Choice = SvnAccept.TheirsFull;
    }

我看到已更新的字样,但现有的文件没有被更新。 如果有一些文件缺失 - 它们将被下载。 但是现有的文件并没有被更新。

我对这个问题感到非常疯狂,请帮帮我,我的英雄!


1
你使用的SharpSvn版本是什么?我尝试了1.8-x86,似乎可以工作。 - Evgeny Timoshenko
@johny 看起来像是 1.8004.2609.15378,但适用于 x64。 - animekun
@johny 当然没有结果,问题没有解决,似乎逻辑仍然存在于这个星球上。当前版本:SharpSvn 1.8005.2698。 - animekun
1
工作副本版本号和远程副本版本号将有助于解决问题。 - Evgeny Timoshenko
你是否正在检查 res 来查看更新尝试返回了什么结果? - alroc
显示剩余2条评论
1个回答

1

您需要设置MergedFile属性。如果没有设置,SharpSVN将不会按照您描述的方式合并文件。

static void asdf_Conflict(object sender, SvnConflictEventArgs e)
{
    e.Choice = SvnAccept.TheirsFull;
    e.MergedFile = e.TheirFile;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接