文件夹已经存在,但是在Ansible Subversion签出中这不是Subversion存储库错误

时间:2018-10-26 08:55:28

标签: svn ansible

我正在尝试使用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: ././

我遇到如下错误,

enter image description here

更新后的观察结果

当我仅使用“ export:yes”选项进行导出时,它可以正常工作。问题仅在于结帐操作。

我的困惑是,使用上述YML结帐是否存在任何问题?为什么只显示这些类型的错误?由于导出也可以正常工作。

1 个答案:

答案 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

2.6 docs

  

就位默认值:否

     

如果该目录存在,那么将检出工作副本   使用svn checkout --force来完成如果指定了力,则   还原具有不同内容的现有文件