我编写了一个程序,通过使用jsch库的ssh,您可以列出所有可用的存储库,然后克隆它们。我通过特殊用户“HgRepoViewer”登录,使用密码列出所有回购。然后下载我做:
对于Windows:
String command = "hg --debug -v clone ssh://hg@" +server+ "/" + getSrc() + " " + getDst();
Process p;
p = Runtime.getRuntime().exec("cmd.exe /c cd \"" + getDst() + "\" & start cmd.exe /k " + command);
对于linux我只做:
p = Runtime.getRuntime().exec(command);
在Windows上一切运行良好但在unix上我得到了“Permission denied(publickey,password)”。我被要求输入用户“hg”的密码,但不应该有任何密码因为它是同一个会话。你有什么想法吗?