Git URL中的域反斜杠

时间:2015-02-09 16:44:00

标签: ansible ansible-playbook

当我尝试使用Windows域凭据克隆存储库时,会删除反斜杠。

git: repo="http://DOMAIN\\user:password@server/repo"
     dest=/srv/clone
     version=develop

错误:

failed: [x.x.x.x] => {"cmd": ["/usr/bin/git", "ls-remote", "http://DOMAINuser:password@server/repo", "-h", "refs/heads/develop"], "failed": true, "rc": 128} 
stderr: fatal: Authentication failed for 'http://DOMAINuser:password@server/repo/'

msg: fatal: Authentication failed for 'http://DOMAINuser:password@server/repo/'

FATAL: all hosts have already failed -- aborting

看起来逃生无效?

2 个答案:

答案 0 :(得分:0)

据我所知,活动目录身份验证与您可以在git中使用HTTP方法的身份验证方案正交。因此,DOMAIN\\USER只是您的HTTP客户端(在您的情况下,git)发送到服务器的用户字符串。但是\对客户来说可能看起来很奇怪。你试过\\\\吗?

答案 1 :(得分:0)

这看起来很有趣,但是我已经失去了足够的时间与Ansible逃避来证明它的合理性。尝试定义一个var(在一些常量适当的位置),例如backslash: "\\",并在像这样的模板backslash*2中使用它。

至少,您在"{{ .. }}"中的直接使用与过滤器中的间接使用之间保持一致,例如"{{ ... | some_filter('...') }}