0

我正在尝试从 Subversion 进行自动结帐。但问题是,它对我不起作用。我这样做了:

"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe"  /command:checkout  /path:"C:\Program\Client" /url:"http://subversion/svn/Client/ClientsVersion/trunk/"

但是我需要点击“确定”并输入我的用户名+密码。但是我想执行一个命令,然后一切都完成了。

我正在使用 Runtime.getRuntime().exec("cmd /c start CODE"); 在 Java 中执行命令,因此,如果 Java 中有另一个解决方案也适用于我!

现在这是我的代码,适用于 svnKit 版本 1.3.7

File dstPath = new File("c:/svnkit");
SVNURL url;
url = SVNURL.parseURIEncoded("http://subversion/svn/directory/project/trunk/");
ISVNAuthenticationManager authManager = SVNWCUtil.createDefaultAuthenticationManager("USERNAME", "PASS" );
SVNUpdateClient uc = new SVNUpdateClient(authManager , SVNWCUtil.createDefaultOptions(true)); 
uc.doCheckout(url, dstPath, SVNRevision.UNDEFINED, SVNRevision.HEAD,  SVNDepth.INFINITY, true);
4

1 回答 1

2

我建议使用命令行客户端(svn.exe 而不是 TortoiseSVN)通过 java 签出。此外,如果您真的只需要 Java 的解决方案,您可以查看 svnkit.com 的本地 Java 库,这意味着您不再需要调用命令行客户端。目前 svnkit 库不支持 1.7(但通过 alpha 版本)。

于 2012-03-12T10:09:00.477 回答