每次我连接到存储库时,凭据都存储在 .subversion 目录(UNIX 系统)下的用户主文件夹中。无论如何不要这样做,或者至少在命令行下指定另一个目录,例如 --config-dir 选项?
我做了一个小技巧,临时更改 user.home java 属性,但这在 Windows 上不起作用。
提前致谢,
瑞
每次我连接到存储库时,凭据都存储在 .subversion 目录(UNIX 系统)下的用户主文件夹中。无论如何不要这样做,或者至少在命令行下指定另一个目录,例如 --config-dir 选项?
我做了一个小技巧,临时更改 user.home java 属性,但这在 Windows 上不起作用。
提前致谢,
瑞
其中一种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);