Ошибка SVN: SVN: E200007: Бегунок для 'org.tmatesoft.svn.core.wc2.SvnMerge'
Я пытаюсь объединить филиал в транк, используя 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();
}
Запуск этого кода приводит к следующей ошибке:
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)
Я запустил этот кусок кода с SVNKIT версии 1.7.11 и 1.8.10 и получил ту же ошибку.
Эквивалент командной строки SVN для кода, упомянутого выше:
svn merge <branchurl> <WC_PATH>
Дайте знать, если что-то нужно сделать, чтобы решить эту проблему.
6 ответов
Во-первых, проверьте, что у вас установлен subclipse, @flm post, где. В своем Eclipse, зайдите в Windows -> Настройки -> Команда -> SVN -> DIFF/Merge
Выберите по умолчанию (Sublclipse)
Если вариант
Select revisions on next page
выбран на второй странице мастера, то он работает для меня без изменения каких-либо настроек.
я использую
CollabNet Desktop
а также
SVNKit (Pure Java)
Вы используете Eclipse? Добавьте этот репозиторий программного обеспечения http://subclipse.tigris.org/update_1.12.x и установите все.
Уведомление об исключении MSG:
Бегунок для команды 'org.tmatesoft.svn.core.wc2.SvnMerge' не найден; вероятно, еще не реализовано в этом API.
попробуйте изменить другой клиент интерфейса SVN, `JavaHL(JNI) 1.8.10(r1615264), поддерживает команду svn merge! меня устраивает!
У меня была такая же ошибка в Eclipse при слиянии с SVNKIT и клиентом CollabNet, после перехода на JavaHL слияние работает нормально.
Обратите внимание, что вы должны использовать совпадающие версии вашей нативной Subversion и библиотеки subclipe->JavaHL, как описано в вики-субклипе. Например svn 1.9.x => субклип 1.12
У меня была такая же ошибка в Jenkins при использовании плагина Subversion. Когда я погуглил, я приземлился здесь.
Чтобы исправить это в Дженкинс я сделал
Управление Jenkins -> Настройка системы -> Прокрутите вниз до настроек Subversion -> выберите версию рабочей области Subversion
например