13

SVNkit を使用して 2 つの svn URL の差分を実行しようとしています。diff.doDiff問題は、呼び出されたときにエラーが発生することです。

org.tmatesoft.svn.core.SVNException: svn: ' http://svn.codehaus.org/jruby/trunk/jruby/src/org/jruby/Finalizable.javaの SVNRepository オブジェクトを作成できません' 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) at org.tmatesoft.svn.core.wc.DefaultSVNRepositoryPool.createRepository(DefaultSVNRepositoryPool.java:213) at 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();
}
4

1 に答える 1

21

次の静的メソッドを呼び出しましたか?

DAVRepositoryFactory.setup();

http://これは、リポジトリなどにアクセスする前に呼び出す必要があります

SVNRepositoryFactoryImpl.setup();

svn://リポジトリに使用する必要があります。

于 2008-09-25T14:20:34.440 に答える