2

每次我连接到存储库时,凭据都存储在 .subversion 目录(UNIX 系统)下的用户主文件夹中。无论如何不要这样做,或者至少在命令行下指定另一个目录,例如 --config-dir 选项?

我做了一个小技巧,临时更改 user.home java 属性,但这在 Windows 上不起作用。

提前致谢,

4

1 回答 1

1

其中一种createDefaultAuthenticationManager()实现方式允许这样做。

它是一个静态方法org.tmatesoft.svn.core.wc.SVNWCUtil

这是来自https://svnkit.com/javadoc/的描述

公共静态 ISVNAuthenticationManager createDefaultAuthenticationManager(java.io.File configDir, java.lang.String userName, java.lang.String password, boolean storeAuth)

创建使用提供的配置目录和用户凭据的默认身份验证管理器。storeAuth 参数影响使用 auth 存储。

参数:
 configDir - 运行时配置区域的新位置
  userName - 用户名
  password - 用户密码
  storeAuth - 如果为 true,则启用身份验证存储,否则禁用
 返回:
  凭据和服务器配置驱动程序接口的默认实现

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

...set up repository...
File configDir = new File("MyFolder");
ISVNAuthenticationManager auth;
auth = SVNWCUtil.createDefaultAuthenticationManager( 
 configDir, user, password, false );
repository.setAuthenticationManager(auth);
于 2016-10-20T03:54:32.263 回答