Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SharpSVN.Merge()不工作,返回true,但无法看到代码中的更改_C#_Svn_Merge_Sharpsvn - Fatal编程技术网

C# SharpSVN.Merge()不工作,返回true,但无法看到代码中的更改

C# SharpSVN.Merge()不工作,返回true,但无法看到代码中的更改,c#,svn,merge,sharpsvn,C#,Svn,Merge,Sharpsvn,我正在尝试将SVN文件夹中的更改合并到我的本地文件夹,其中包含以前的修订代码和新更改。下面的方法采用SrcUrl和文件夹的本地路径,该文件夹有新的更改,srcrev保存需要从svn合并到我的本地文件夹的修订号 Merge()返回True,但在合并后,我无法在本地文件夹中看到任何代码更改 谁能告诉我我哪里做错了 public void Merge(String SrcUrl,String localpath,long SrcRev) { using (SvnClient client =

我正在尝试将SVN文件夹中的更改合并到我的本地文件夹,其中包含以前的修订代码和新更改。下面的方法采用SrcUrl和文件夹的本地路径,该文件夹有新的更改,srcrev保存需要从svn合并到我的本地文件夹的修订号

Merge()返回True,但在合并后,我无法在本地文件夹中看到任何代码更改

谁能告诉我我哪里做错了

public void Merge(String SrcUrl,String localpath,long SrcRev)
{
    using (SvnClient client = new SvnClient())
    {
      try
      {
        SvnMergeArgs mergeArgs = new SvnMergeArgs();
        mergeArgs.Depth = SvnDepth.Infinity;
        //Attaching the events
        mergeArgs.Notify += new EventHandler<SvnNotifyEventArgs>(Merge_Notify);
        mergeArgs.SvnError += new EventHandler<SvnErrorEventArgs>(Merge_Error);
        mergeArgs.Conflict += new EventHandler<SvnConflictEventArgs>(Merge_Confilct);
        mergeArgs.Force = false;

        SvnRevisionRange svnRange = new SvnRevisionRange(SrcRev, SrcRev);

        SvnUriTarget MyTarget = new SvnUriTarget(new Uri(SrcUrl));

        if( client.Merge(localpath, MyTarget, svnRange, mergeArgs))
                    MessageBox.Show("Merged successfully");
     }
     catch (SvnException se)
     {
       MessageBox.Show(se.Message,"svn merge error",MessageBoxButtons.OK,
       MessageBoxIcon.Error);
      }
   }
 }
public void合并(字符串SrcUrl、字符串localpath、长SrcRev)
{
使用(SvnClient client=new SvnClient())
{
尝试
{
SvnMergeArgs mergeArgs=新的SvnMergeArgs();
mergeArgs.Depth=SvnDepth.Infinity;
//附加事件
mergeArgs.Notify+=新事件处理程序(Merge\u Notify);
mergeArgs.SvnError+=新事件处理程序(合并错误);
mergeArgs.Conflict+=新的事件处理程序(Merge\u Conflict);
mergeArgs.Force=false;
SvnRevisionRange svnRange=新的SvnRevisionRange(SrcRev,SrcRev);
SvnUriTarget MyTarget=新的SvnUriTarget(新Uri(SrcUrl));
if(client.Merge(localpath、MyTarget、svnRange、mergeArgs))
MessageBox.Show(“合并成功”);
}
捕获(SVSE)
{
MessageBox.Show(se.Message,“svn合并错误”,MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
}
}

以前是否已经合并了更改

Subversion跟踪已经合并到“svn:mergeinfo”属性中的任何内容,如果更改已经合并,您只需获得成功,就像任何其他Subversion客户端一样

请注意,您始终希望合并修订范围。。可以在两个不同的修订之间合并更改。
svn
客户机通过将传递的修订的范围减去1传递给修订来实现其
-c
参数,因为这恰好是该特定修订中更改的内容