我设置了一个crontab条目来从svn repo中提取代码 - 之前我已经这样做了,所以不确定这次我错过了什么。它位于OSX 10.7(Lion)上。
如果回购是公开的,它可以正常运行。
如果repo是私有的(即需要用户/ pass),即使我的凭据被缓存,验证也会失败,因为通常我可以在命令行执行此操作,而无需用户/传递提示。
cron生成的电子邮件告诉我我正在运行相同的shell,是同一个用户,主文件夹是否正确等等。但是svn无法导出文件;我可以在错误中看到cron给我发电子邮件,它要求输入密码,没有得到它,然后询问用户,没有得到它,最后失败并显示消息:
授权失败:无法向服务器进行身份验证:已拒绝基本质询 (我省略了具体的网址)
我尝试过--non-interactive和--config-dir选项没有运气,但我以前从未这样做过。
想法?
谢谢,奥斯汀的托马斯·布洛姆,tx答案 0 :(得分:2)
svn help co
Global options:
--username ARG : specify a username ARG
--password ARG : specify a password ARG
答案 1 :(得分:0)
试试这个...虽然我承认非常愚蠢,但它对我有用。
我使用虚拟账户来完成我的SVN / Cron工作,最近我遇到了同样的事情。 OSX Lion。
我可以在命令行上运行命令,但不能通过cron运行。我无法解释,因为我实际上处于匆忙的状态,所以我将研究留给了你。以下是我为解决问题所做的工作:
这对我有用。出于某种原因,Mac的Keychain干扰了subversion的内置save_my_authentication方法,因为我可以在Keychains中看到我的LDAP / SVN命令的条目。但Keychains似乎没有通过Cron使用它,或者...... cron不使用Keychains :)(可能是最后一部分的确实)
显然,如果这是您的个人帐户,您可能不想删除Keychain目录!您可以尝试仅删除Keychain中的SVN条目,然后在使用SSH远程登录时执行SVN命令。