From 73efee9caaed48cf2f1a70ed914c23a124768399 Mon Sep 17 00:00:00 2001 From: Jeremy Lecour Date: Thu, 23 Sep 2021 14:45:19 +0200 Subject: [PATCH] etc-git: purge old .git/index.lock (default: True) --- CHANGELOG.md | 1 + etc-git/defaults/main.yml | 2 ++ etc-git/tasks/do_commit.yml | 14 ++++++++++++++ etc-git/tasks/repository.yml | 2 +- 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e37730f..383f3138 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ The **patch** part changes incrementally at each release. * Preliminary support for Debian 11 « Bullseye » * apache: new variable for mpm mode (+ updated default config accordingly) * certbot: add script for manual deploy hooks execution +* etc-git: purge old .git/index.lock (default: True) * evolinux-base: install molly-guard by default * generate-ldif: detect hardware raid card * generate-ldif: detect mdadm diff --git a/etc-git/defaults/main.yml b/etc-git/defaults/main.yml index 8a822abd..dbecc6a3 100644 --- a/etc-git/defaults/main.yml +++ b/etc-git/defaults/main.yml @@ -2,3 +2,5 @@ commit_message: Ansible run etc_git_monitor_status: True +etc_git_purge_index_lock_enabled: True +etc_git_purge_index_lock_age: 86400 diff --git a/etc-git/tasks/do_commit.yml b/etc-git/tasks/do_commit.yml index 6b09eaaf..bae36936 100644 --- a/etc-git/tasks/do_commit.yml +++ b/etc-git/tasks/do_commit.yml @@ -5,6 +5,20 @@ name: remount-usr when: git_folder is match('/usr/.*') +- name: "stat {{ git_folder }}/.git/index.lock" + stat: + path: "{{ git_folder }}/.git/index.lock" + register: _index_lock + +- name: index file is removed if old enough + file: + path: "{{ git_folder }}/.git/index.lock" + state: absent + when: + - _index_lock.stat.exists + - _index_lock.stat.mtime | int <= ((ansible_date_time.epoch | int) - etc_git_purge_index_lock_age | default(86400)) + - etc_git_purge_index_lock_enabled + - name: "is {{ git_folder }} clean?" command: git status --porcelain args: diff --git a/etc-git/tasks/repository.yml b/etc-git/tasks/repository.yml index e8599c1e..80987da2 100644 --- a/etc-git/tasks/repository.yml +++ b/etc-git/tasks/repository.yml @@ -70,4 +70,4 @@ register: git_commit when: git_log.rc != 0 or (git_init is defined and git_init is changed) tags: - - etc-git + - etc-git \ No newline at end of file