--- - name: Git is installed (Debian) apt: name: git state: present - name: /etc is versioned with git command: "git init ." args: chdir: /etc creates: /etc/.git/ warn: no register: git_init - name: Git user.email is configured git_config: name: user.email repo: /etc scope: local value: "root@{{ ansible_fqdn | default('localhost') }}" - name: /etc/.git is secure file: path: /etc/.git owner: root mode: "0700" state: directory - name: /etc/.gitignore is present copy: src: gitignore dest: /etc/.gitignore owner: root mode: "0600" - name: does /etc/ have any commit? command: "git log" args: chdir: /etc warn: no changed_when: False failed_when: False register: git_log check_mode: no - name: initial commit is present? shell: "git add -A . && git commit -m \"Initial commit via Ansible\"" args: chdir: /etc warn: no register: git_commit when: git_log.rc != 0 or (git_init is defined and git_init.changed)