SVNkit no puede crear SVNRepoitory
Pregunta
Estoy intentando ejecutar un diff en dos svn urls usando SVNkit. El problema es que recibo el error cuando se llama a diff.doDiff
.
org.tmatesoft.svn.core.SVNException: svn: No se puede crear Objeto SVNRepository para ' http://svn.codehaus.org/jruby /trunk/jruby/src/org/jruby/Finalizable.java ' a org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error (SVNErrorManager.java:55) a org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error (SVNErrorManager.java:40) a org.tmatesoft.svn.core.io.SVNRepositoryFactory.create (SVNRepositoryFactory.java:199) a org.tmatesoft.svn.core.wc.DefaultSVNRepositoryPool.createRepository (DefaultSVNRepositoryPool.java:213) a org.tmatesoft.svn.core.wc.SVNClientManager.createRepository (SVNClientManager.java:242) a org.tmatesoft.svn.core.wc.SVNBasicClient.createRepository (SVNBasicClient.java:231) a org.tmatesoft.svn.core.wc.SVNDiffClient.doDiffURLURL (SVNDiffClient.java:769) a org.tmatesoft.svn.core.wc.SVNDiffClient.doDiff (SVNDiffClient.java:310) en SVNTest.main (SVNTest.java:30)
He verificado dos veces las URL (puedo abrirlas en el cliente TortoiseSVN). ¿Alguien puede ayudarme a saber qué está pasando? He publicado el código que estoy ejecutando a continuación.
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();
}
Solución
¿has llamado al siguiente método estático?
DAVRepositoryFactory.setup ();
Se debe llamar antes de acceder a los repositorios http: //
y similares
SVNRepositoryFactoryImpl.setup ();
se debe utilizar para los repositorios svn: //
.