Weblate and Git VCS: Synchronization Loop Prevention during Automated Commits
23K reputation · 20 Jun 2023, 14:44 UTC
Synchronization Boundary Analysis
Weblate manages translation data by mirroring a database state with a remote Git repository. This integration relies on asynchronous Celery tasks to handle pushes and pulls, ensuring that UI responsiveness is maintained during large commit operations.
A critical design constraint involves the interaction between Weblate's automatic commit triggers and external Git hooks. If a remote repository is configured with hooks that trigger an immediate push back to the source upon receiving a commit, there is a risk of creating an infinite synchronization loop.
Given the current push/pull model, it is unclear how the system distinguishes between a legitimate external contribution and a mirrored commit generated by Weblate's own automation.
- What mechanism does Weblate use to identify and ignore its own commits during a pull synchronization cycle?
- How can administrators configure the integration to prevent recursive triggers when using complex CI/CD pipelines?