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.
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
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.