2011-04-05 43 views
1

每次連接到存儲庫時,憑據都將存儲在.subversion目錄(UNIX系統)下的用戶主文件夾中。反正有沒有這樣做,或者至少在命令行下指定另一個目錄,如--config-dir選項?告訴SVNKit不要存儲憑據或至少更改路徑

我做了一些小事,暫時改變了user.home的java屬性,但這在Windows上不起作用。

由於提前,

+0

通過Java調試器運行您的代碼,並找出SVNKit代碼中寫入證書的位置。然後,您可以查看是否有可以更改的參數或配置選項。 – 2011-04-05 19:42:41

+0

我查了源。這似乎不可能。也許是未來版本需要包含的內容。 – rpvilao 2011-04-06 10:15:08

+0

你能找到任何解決方法嗎? – 2015-11-05 13:43:56

回答

0

其中createDefaultAuthenticationManager()實現允許這樣做。

這是一個在org.tmatesoft.svn.core.wc.SVNWCUtil中的靜態方法。

下面是從https://svnkit.com/javadoc/

公共靜態ISVNAuthenticationManager createDefaultAuthenticationManager(java.io.File的configDir,java.lang.String中用戶名,密碼java.lang.String中,布爾storeAuth)

創建描述使用提供的配置目錄和用戶憑據的默認身份驗證管理器。 storeAuth參數會影響使用auth存儲的情況。

參數:
  configDir - 運行時配置區域的新位置
   用戶名 - 用戶的姓名
   密碼 - 用戶的密碼
    storeAuth - 如果爲true,則AUTH存儲已啓用,否則禁用
 返回:
   憑證和服務器配置的默認實現uration驅動程序接口

所以,你可以做類似的事情。

...set up repository... 
File configDir = new File("MyFolder"); 
ISVNAuthenticationManager auth; 
auth = SVNWCUtil.createDefaultAuthenticationManager( 
 configDir, user, password, false); 
repository.setAuthenticationManager(auth);