简体   繁体   中英

SVN Error: svn: E200007: Runner for 'org.tmatesoft.svn.core.wc2.SvnMerge'

I am trying to merge branch to trunk using SVNKIT java API.

The code for it is as follows:

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();
   }

Running this code throws the following error:

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)

I ran this piece of code with SVNKIT version 1.7.11 and 1.8.10 and got the same error.

SVN command line equivalent for the code mentioned above is

svn merge <branchurl> <WC_PATH>

Let know if anything needs to be done to fix this issue.

First, check you have subclipse installed, @flm post where. In your Eclipse, go Windows -> Preference -> Team -> SVN -> DIFF/Merge

Select default (Sublclipse)

在此输入图像描述

notice exception msg :

Runner for 'org.tmatesoft.svn.core.wc2.SvnMerge' command have not been found; probably not yet implement in this API.

try to change another SVN interface client, `JavaHL(JNI) 1.8.10(r1615264) , supports svn merge command! it works for me!

Are you running Eclipse? Add this software repository http://subclipse.tigris.org/update_1.12.x And install everything.

I had the same error in Eclipse when merging with SVNKIT and the CollabNet client, after switching to JavaHL merging work fine.

Note you have to use matching versions of your native subversion vs. subclipe->JavaHL library as decribed in the subclipe wiki. For example svn 1.9.x => subclipe 1.12

I had the same error in Jenkins when using the Subversion plugin . When I googled I landed up here.

To fix this in Jenkins I did

Manage Jenkins -> Configure System -> Scroll down to the subversion settings -> select your subversion workspace version

eg

在此输入图像描述

If the option Select revisions on next page is selected on the second page of the wizard then it works for me without changing any in the preferences.

I use CollabNet Desktop and SVNKit (Pure Java)

在此处输入图片说明

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM