SVN错误:svn:E200007:'org.tmatesoft.svn.core.wc2.SvnMerge'的运行器

Vin*_*nod 4 java svn svnkit

我正在尝试使用SVNKIT java API将分支合并到主干.

它的代码如下:

String branchURL = "<Branch URL>";

SVNURL branchSVNURL = SVNURL.parseURIDecoded(branchURL);//SVN Branch URL

String WC_PATH= "<Some Path>";//This is the Working copy path which has the Trunk checked out

File svnWorkingCopy = new File(WC_PATH);

SVNDiffClient svnDiffClient;//This is initialized using SVNClientManager

try{
      //doMerge(java.io.File path1, SVNRevision revision1, SVNURL url2, SVNRevision revision2, java.io.File dstPath, SVNDepth depth, boolean useAncestry, boolean force, boolean dryRun, boolean recordOnly) 
      svnDiffClient.doMerge(branchSVNURL, SVNRevision.HEAD,null,svnWorkingCopy,SVNDepth.INFINITY,false, false, false, false);
   }catch(Exception e){
     e.printStackTrace();
   }
Run Code Online (Sandbox Code Playgroud)

运行此代码会引发以下错误:

org.tmatesoft.svn.core.SVNException: svn: E200007: Runner for 'org.tmatesoft.svn.core.wc2.SvnMerge' command have not been found; probably not yet implement in this API.
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)
at org.tmatesoft.svn.core.wc2.SvnOperationFactory.getImplementation(SvnOperationFactory.java:1375)
at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1224)
at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)
at org.tmatesoft.svn.core.wc.SVNDiffClient.doMerge(SVNDiffClient.java:2389)
at com.test.TestSVN.merge(TestSVN.java:109)
at com.test.TestSVN.main(TestSVN.java:45)
Run Code Online (Sandbox Code Playgroud)

我跑这段代码与SVNKIT版本1.7.111.8.10,并得到了同样的错误.

上面提到的代码的SVN命令行等效于

svn merge <branchurl> <WC_PATH>
Run Code Online (Sandbox Code Playgroud)

让我们知道是否需要做任何事情来解决这个问题.

Dam*_*ero 8

首先,检查你是否安装了subclipse,@ flm post在哪里.在Eclipse中,转到Windows - >首选项 - >团队 - > SVN - > DIFF/Merge

选择默认(Sublclipse)

在此输入图像描述

  • 如您所示,将其从“CollabNet Desktop”更改为 Subclipse 后,“合并...”选项对我来说变为灰色 (2认同)

小智 1

注意异常消息:

尚未找到“org.tmatesoft.svn.core.wc2.SvnMerge”命令的运行程序;可能尚未在此 API 中实现。

尝试更换另一个SVN界面客户端`JavaHL(JNI) 1.8.10(r1615264) ,支持svn merge命令!这个对我有用!