Ошибка 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

например

Другие вопросы по тегам