سؤال

أحاول تشغيل فرق على عنوانين url لـ svn باستخدام SVNkit.المشكلة هي أنني أحصل على الخطأ عندما diff.doDiff يسمى.

org.tmatesoft.svn.core.SVNException:إس في إن:غير قادر على إنشاء كائن 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 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.createPository (svnclientmanager.java:242) في org.tmatesoft.svn.core.wc.svnbasicclient.createPository . جافا: 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();
}
هل كانت مفيدة؟

المحلول

هل اتصلت بالطريقة الثابتة التالية؟

DAVRepositoryFactory.setup();

يجب استدعاء هذا قبل الوصول إلى أي http:// المستودعات وما شابه ذلك

SVNRepositoryFactoryImpl.setup();

ينبغي أن تستخدم ل svn:// المستودعات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top