我有一个空的裸存储库,我试图用Ansible克隆,但是git模块正在尝试检出master
因此失败,因为空存储库中没有这样的refspec。
我唯一的方法是使用shell命令来克隆repo。
答案 0 :(得分:4)
我尝试过各种方式,唯一有效的方法是添加ignore_errors: true
,然后检查是什么让Ansible模块失败。
我知道这不是最佳的,但它有效,我们不会让所有的错误通过:
- git: repo=<YOUR REPO> dest=<DEST>
ignore_errors: true
register: output
- name: check the error that failed the git module
fail: msg="{{ output.msg }}"
when: "'Failed to checkout branch master' not in output.msg"
BTW我过滤了output.msg
而不是output.stderr
,因为出于某种原因,该特定错误会导致.msg
但不会移至.stderr
。