From b264d2f805abbc85efb8e53cf73e21fb06665f50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Tue, 8 Oct 2024 11:41:16 +0200 Subject: [PATCH] fix(add-ons): perform post-update with repository lock held It is typically updating the files so avoid possible concurrency with other repository operations. Fixes #12692 --- weblate/addons/base.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/weblate/addons/base.py b/weblate/addons/base.py index 0cd24fb954a9..0020b3808e1f 100644 --- a/weblate/addons/base.py +++ b/weblate/addons/base.py @@ -437,9 +437,10 @@ def post_update( self, component: Component, previous_head: str, skip_push: bool ) -> None: # Ignore file parse error, it will be properly tracked as an alert - with suppress(FileParseError): - self.update_translations(component, previous_head) - self.commit_and_push(component, skip_push=skip_push) + with component.repository.lock: + with suppress(FileParseError): + self.update_translations(component, previous_head) + self.commit_and_push(component, skip_push=skip_push) class StoreBaseAddon(BaseAddon):