Search code examples
weblate

Why the addon for squashing commits doesn't work


Commits from Weblate come without squashing.

Setup is:
Server with 4-core processor, 6 GB RAM.
Weblate version - 3.5.1. Deployed in docker.
8 projects, 3 of them contain more than 600 components and from 25.000 to 30.000 source strings each project, other projects contain few components and strings so they don't count, 5 translated languages. Each project has 1 direct component and others are linked.

Resource files are Resx (.Net resource files).

VCS settings for direct component:
- Git
- source and push repos are the same
- push on commit switched off (but I tried configuration where it switched on)
- age of changes to commit: 4
- merge style: rebase

Installed Addons:
- Language consistency
- Flag new source strings as "Needs editing"
- Component discovery
- Flag new translations as "Needs editing"
- Flag unchanged translations as "Needs editing"
- Squash Git commits in "All commits into one" mode (also tried "Per language" mode)

The situation: I log in the Weblate in the morning, so changes made by other users during previous day are all commited. Changes from remote repo are pulled automatically during the night. There are some commits (usually few dozens) in local repo. I manually push changes to the remote repo. And Weblate pushes them without squashing, so I have the list of commits and each of them has changes only for one resource file. Expected behavior: commits are squashed - 1 big commit with all changes or several commits - each one for differents languages, accoarding to squash commit addons' settings.

I also tried rebase repo prior to push.

And letting Weblate make push automatically by switching "push on commit" setting on doesn't make any difference.


Solution

  • There were some issues with the squash addon in the 3.5.1 release (eg. https://github.com/WeblateOrg/weblate/issues/2623), so it might be good idea to upgrade.