diff options
| author | Egor Tensin <egor@tensin.name> | 2025-11-23 00:01:15 +0100 |
|---|---|---|
| committer | Egor Tensin <egor@tensin.name> | 2025-11-23 14:02:25 +0100 |
| commit | 96154a85752a50f0b00f8df5bd02d0a569f7c485 (patch) | |
| tree | 0c9d96b918cd2e9a755abcae17df8b65fe25c3a1 /roles | |
| parent | etckeeper: rework & fix .gitignore setup (diff) | |
| download | infra-ansible-96154a85752a50f0b00f8df5bd02d0a569f7c485.tar.gz infra-ansible-96154a85752a50f0b00f8df5bd02d0a569f7c485.zip | |
etckeeper: fixup remote URLs forcefully
Diffstat (limited to 'roles')
| -rw-r--r-- | roles/etckeeper/tasks/main.yml | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/roles/etckeeper/tasks/main.yml b/roles/etckeeper/tasks/main.yml index 74e28a5..b4c49f2 100644 --- a/roles/etckeeper/tasks/main.yml +++ b/roles/etckeeper/tasks/main.yml @@ -52,16 +52,21 @@ when: etckeeper_remote_url is defined become: true block: - - name: git remote add + - name: Read current remote URL ansible.builtin.command: - argv: - - git - - remote - - add - - '{{ etckeeper_remote_name }}' - - '{{ etckeeper_remote_url }}' + cmd: git config --local remote.{{ etckeeper_remote_name | quote }}.url chdir: /etc - creates: '/etc/.git/refs/remotes/{{ etckeeper_remote_name }}/' + changed_when: false + failed_when: false + register: url_result + + - name: Fix remote URL if necessary + ansible.builtin.shell: + cmd: | + git remote remove {{ etckeeper_remote_name | quote }} && \ + git remote add -f {{ etckeeper_remote_name | quote }} {{ etckeeper_remote_url | quote }} + chdir: /etc + when: url_result.stdout != etckeeper_remote_url - name: Configure pushes for etckeeper community.general.ini_file: |
