質問

SVNkitを使用して2つのSVN URLの差分を実行しようとしています。問題は、次の場合にエラーが発生することです diff.doDiff と呼ばれます。

org.tmatesoft.svn.core.SVNException:SVN:'のsvnrepositoryオブジェクトを作成できませんhttp://svn.codehaus.org/jruby/trunk/jruby/src/org/jruby/Finalizable.java'at org.tmatesoft.svn.core.internal.wc.svnerrormanager.error(svnerrormanager.java:55)at org.tmatesoft.svn.core.internal.wc.svnerrormanager.error(svnerrormanager.java:40) tmatesoft.svn.core.io.svnrepositoryfactory.create(svnrepositoryfactory.java:199)at org.tmatesoft.svn.core.wc.defaultsvnrepositorypool.createrepository(defaustvnrepositorypool.javapool.java:213) svnclientmanager.createrepository(svnclientmanager.java:242)at org.tmatesoft.svn.core.wc.svnbasicclient.java:231)at org.tmatesoft.svn.core.crient.diff.diff.diff.svn.core.diff.svn.core.diff.svn.core.diff.diff.svn.core.diff.diff.svn.core.diff.diff.diff.diff.svn.core .java: 769)atorg.tmatesoft.svn.core.wc.svndiffclient.dodiff(svndiffclient.java:310)at 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();
}
役に立ちましたか?

解決

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

DAVRepositoryFactory.setup();

これは、アクセスする前に呼び出す必要があります。 http:// リポジトリおよび類似のもの

SVNRepositoryFactoryImpl.setup();

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top