SVNkit не может создать SVNRepoitory - PullRequest
12 голосов
/ 25 сентября 2008

Я пытаюсь запустить diff на двух URL-адресах 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();
}

1 Ответ

19 голосов
/ 25 сентября 2008

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

DAVRepositoryFactory.setup ();

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

SVNRepositoryFactoryImpl.setup ();

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

...