--- - include_role: name: evolix/remount-usr when: repository_path is search ("/usr") - name: "{{ repository_path }} is versioned with git" command: "git init ." args: chdir: "{{ repository_path }}" creates: "{{ repository_path }}/.git/" warn: no register: git_init tags: - etc-git - name: Git user.email is configured git_config: name: user.email repo: "{{ repository_path }}" scope: local value: "root@{{ ansible_fqdn | default('localhost') }}" tags: - etc-git - name: "{{ repository_path }}/.git is restricted to root" file: path: "{{ repository_path }}/.git" owner: root mode: "0700" state: directory tags: - etc-git - name: "{{ repository_path }}/.gitignore is present" copy: src: gitignore dest: "{{ repository_path }}/.gitignore" owner: root mode: "0600" force: no tags: - etc-git - name: "Some entries MUST be in the {{ repository_path }}/.gitignore file" lineinfile: dest: "{{ repository_path }}/.gitignore" line: "{{ item }}" with_items: "{{ gitignore_items | default([]) }}" tags: - etc-git - name: "does {{ repository_path }}/ have any commit?" command: "git log" args: chdir: "{{ repository_path }}" warn: no changed_when: False failed_when: False register: git_log check_mode: no tags: - etc-git - name: initial commit is present? shell: "git add -A . && git commit -m \"Initial commit via Ansible\"" args: chdir: "{{ repository_path }}" warn: no register: git_commit when: git_log.rc != 0 or (git_init is defined and git_init.changed) tags: - etc-git