2012-03-12 54 views
0

我正在尝试从Subversion进行自动结帐。但问题是,它不适合我。我这样做:从TortoiseSVN自动结帐

"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中有另一个解决方案也适用于我!

这是我现在的代码和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); 
+2

为什么标记为“Java”? – bezmax 2012-03-12 10:01:05

+0

要说明这一点,您需要传递用户名和密码。在svn:checkout中,标志将是--username和--password。你可以发布调用上述行的代码吗? – 2012-03-12 10:05:33

+0

我将用Java执行命令行:Runtime.getRuntime()。exec(“cmd/c start CODE”);如果Java中有解决方案也适用于我;-) – Gynnad 2012-03-12 10:05:53

回答

2

我会建议使用命令行客户端(svn.exe代替了TortoiseSVN)工作通过Java检查。此外,如果您确实需要针对Java的解决方案,则只需查看svnkit.com即可获取本地Java库,这意味着您不需要再调用命令行客户端。目前svnkit库不支持1.7(但通过alpha版本)。

+0

我的电脑上没有svn.exe?我安装了TurtoiseSVN。 是否可以使用svnkit并在另一个目录中检出一些数据,然后是项目? – Gynnad 2012-03-12 10:27:05

+0

好的。比处理该问题的最佳方式是使用svnkit.com。 SVNKit给你所有的工作自由,就像你已经安装了svn.exe命令行客户端等。 – khmarbaise 2012-03-12 10:50:09

+0

我在我的问题文章中设置了一些代码,你有什么想法是什么错? – Gynnad 2012-03-12 12:44:52