Подтвердить что ты не робот

SVNkit не может создавать SVNRepoitory

Я пытаюсь запустить diff на двух svn-адресах, используя SVNkit. Проблема в том, что я получаю сообщение об ошибке при вызове diff.doDiff.

org.tmatesoft.svn.core.SVNException: svn: невозможно создать Объект SVNRepository для 'http://svn.codehaus.org/jruby/trunk/jruby/src/org/jruby/Finalizable.java'   в org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:55)   в org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:40)   в org.tmatesoft.svn.core.io.SVNRepositoryFactory.create(SVNRepositoryFactory.java:199)   в org.tmatesoft.svn.core.wc.DefaultSVNRepositoryPool.createRepository(DefaultSVNRepositoryPool.java:213)   в org.tmatesoft.svn.core.wc.SVNClientManager.createRepository(SVNClientManager.java:242)   в org.tmatesoft.svn.core.wc.SVNBasicClient.createRepository(SVNBasicClient.java:231)   в org.tmatesoft.svn.core.wc.SVNDiffClient.doDiffURLURL(SVNDiffClient.java:769)   в org.tmatesoft.svn.core.wc.SVNDiffClient.doDiff(SVNDiffClient.java:310)   на SVNTest.main(SVNTest.java:30)

Я дважды проверил URL-адреса (я могу открыть их в TortoiseSVN-клиенте). Может ли кто-нибудь помочь мне узнать, что происходит? Я опубликовал код, который я запускаю ниже.

SVNClientManager manager = SVNClientManager.newInstance(SVNWCUtil.createDefaultOptions(false), user, pass);

SVNDiffClient diff = manager.getDiffClient();
    //ISVNDiffStatusHandler diffStatus = new ISVNDiffStatusHandler();

try {
SVNURL oldURL = SVNURL.parseURIDecoded(url);    
diff.doDiff(SVNURL.parseURIDecoded(url), SVNRevision.create(oldVersion), SVNURL.parseURIDecoded(url), SVNRevision.HEAD, false, false, System.out);
} catch (SVNException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
4b9b3361

Ответ 1

Вы вызвали следующий статический метод?

DAVRepositoryFactory.setup();

Это нужно вызвать перед доступом к любым репозиториям http:// и аналогичным

SVNRepositoryFactoryImpl.setup();

следует использовать для репозиториев svn://.