我正在尝试使用Ansible颠覆模块从我的存储库服务器中签出SVN存储库。我已经在服务器中配置了一个svn存储库。我正在尝试使用Ansible剧本和Subversion模块将其签入我的Ec2机器。但是当我运行剧本时,出现以下错误:
fatal: [localhost]: FAILED! => {"changed": false, "msg": "ERROR: ././ folder already exists, but its not a subversion repository."}
我的Ansible角色任务包含以下内容:
- name: SVN checkout
subversion:
repo: <my-ip>/svn/test
checkout: yes
update: yes
dest: ././
我遇到如下错误,
更新后的观察结果
当我仅使用“ export:yes”选项进行导出时,它可以正常工作。问题仅在于结帐操作。
我的困惑是,使用上述YML结帐是否存在任何问题?为什么只显示这些类型的错误?由于导出也可以正常工作。
答案 0 :(得分:1)
为了签出到非空文件夹,您应该使用in_place
,此选项是在2.6版中(特别是this PR)添加的。
尝试将插件in_place = yes
添加到您的选项列表中。
- name: SVN checkout
subversion:
repo: <my-ip>/svn/test
checkout: yes
update: yes
in_place: yes
dest: ././
仔细检查是否有任何内容被覆盖,这是在后台进行svn checkout --force
。
就位默认值:否
如果该目录存在,那么将检出工作副本 使用svn checkout --force来完成如果指定了力,则 还原具有不同内容的现有文件