SVNKit nicht schaffen SVNRepoitory
Frage
Ich versuche, ein diff auf zwei SVN-Urls mit SVNKit auszuführen. Das Problem ist, dass ich den Fehler, wenn diff.doDiff
aufgerufen wird.
org.tmatesoft.svn.core.SVNException: svn: Kann nicht erstellen SVNRepository Objekt für ‚ http://svn.codehaus.org/jruby /trunk/jruby/src/org/jruby/Finalizable.java ‘ beim org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error (SVNErrorManager.java:55) beim org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error (SVNErrorManager.java:40) beim org.tmatesoft.svn.core.io.SVNRepositoryFactory.create (SVNRepositoryFactory.java:199) beim org.tmatesoft.svn.core.wc.DefaultSVNRepositoryPool.createRepository (DefaultSVNRepositoryPool.java:213) beim org.tmatesoft.svn.core.wc.SVNClientManager.createRepository (SVNClientManager.java:242) beim org.tmatesoft.svn.core.wc.SVNBasicClient.createRepository (SVNBasicClient.java:231) beim org.tmatesoft.svn.core.wc.SVNDiffClient.doDiffURLURL (SVNDiffClient.java:769) beim org.tmatesoft.svn.core.wc.SVNDiffClient.doDiff (SVNDiffClient.java:310) bei SVNTest.main (SVNTest.java:30)
Ich habe überprüft doppelten URLs (ich sie in TortoiseSVN Client öffnen kann). Kann jemand mir helfen wissen, was los ist? Ich habe den Code gepostet ich unten bin ausgeführt wird.
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();
}
Lösung
Sie haben die folgende statische Methode aufgerufen?
DAVRepositoryFactory.setup ();
Dies muss vor dem Zugriff auf alle http://
Repositorys aufgerufen werden, und die ähnliche
SVNRepositoryFactoryImpl.setup ();
sollte für svn://
Repositorys verwendet werden.