https://git.schokokeks.org/derivepassphrase.git/tree/0082382cfcce300acfebd5f907b2a26476366c47 Recent commits to derivepassphrase.git (0082382cfcce300acfebd5f907b2a26476366c47) 2025-02-11T20:14:05+01:00 tag:gitlist.org,2012:commit/0082382cfcce300acfebd5f907b2a26476366c47 Merge topic branch 'pipx-and-release-data-files' into master 2025-02-11T20:14:05+01:00 Marco Ricci software@the13thletter.info <pre>* t/pipx-and-release-data-files: Automatically check and build the translations on master via hatch-gettext Fix multiple small issues with the CLI messages Allow forcing the branch name on the automatic quality control script Make the manpages installable under pipx &lt;/pre&gt; tag:gitlist.org,2012:commit/4e800e27ab5b23ab8867bd5d74fdde3243a78833 Merge topic branch 'fix-notes-test' into master 2025-02-11T18:26:05+01:00 Marco Ricci software@the13thletter.info <pre>* t/fix-notes-test: Fix faulty notes usage test &lt;/pre&gt; tag:gitlist.org,2012:commit/3f9422dcc3ef734b315fc2f46287d6e617c2646f Fix faulty notes usage test 2025-02-11T18:18:41+01:00 Marco Ricci software@the13thletter.info <pre>The test only ever really acts on the whitespace-trimmed notes, so write it as such. &lt;/pre&gt; tag:gitlist.org,2012:commit/4b517365513d843948b8ead9f155b6590989f22f Automatically check and build the translations on master via hatch-gettext 2025-02-11T16:30:37+01:00 Marco Ricci software@the13thletter.info <pre>Include the configuration for `hatch-gettext` to automatically build the translations during build time, and include them in the wheel. Further support a quality control check that tests the PO template for reproducability. The PO template generator now supports passing a specific build timestamp, and realistically, the reproducability check needs this timestamp to be specified (via `SOURCE_DATE_EPOCH`). Actually *using* these translations directly from the installed wheel is not yet supported, because it is actually somewhat difficult to use the `gettext` MO-finding machinery here directly: `gettext.find` requires the directories it searches to be on-disk directories, whereas the wheel installer does not guarantee that installed packages are present as files on the system (instead of, say, as a ZIP archive). The sanest way forward seems to be reimplementing `gettext.find` with support for `importlib.metadata.as_file`, and then constructing `gettext.GNUTranslations` objects directly. This would also be the correct time to introduce a new enum for all these automatically calculated platform-specific special locale directories. (TODO.) &lt;/pre&gt; tag:gitlist.org,2012:commit/f7608463671f7220e5fc9c1585a3af94b1496390 Fix multiple small issues with the CLI messages 2025-02-11T15:13:16+01:00 Marco Ricci software@the13thletter.info <pre> * Otherwise empty translators comments were being prefixed with `TRANSLATORS:`, making them non-empty. * `Label.DERIVEPASSPHRASE_VAULT_NOTES_INSTRUCTION_TEXT` is actually pre-wrapped, but it was missing the "no wrap" marker. * In `ErrMsgTemplate.CANNOT_UPDATE_SETTINGS_NO_SETTINGS`, `--notes` is also a valid setting to specify. * The previous locale code `en_DEBUG` suggests that "DEBUG" is [a territory, not a modifier or variant][1]. [1]: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html &lt;/pre&gt; tag:gitlist.org,2012:commit/0eb4c387b975bc396a46731f8da33368978a005f Allow forcing the branch name on the automatic quality control script 2025-02-11T13:57:22+01:00 Marco Ricci software@the13thletter.info <pre>Allow forcing the branch name via the `GIT_CURRENT_BRANCH` environment variable. This is useful when the script doubles as a pre-commit hook, and when we want to run the full set of checks normally reserved for 'master' only. &lt;/pre&gt; tag:gitlist.org,2012:commit/fb7d17d3c5629869cae528ce72f80dca4f433acf Make the manpages installable under pipx 2025-02-11T00:57:53+01:00 Marco Ricci software@the13thletter.info <pre>When using `pipx` to install `derivepassphrase`, `pipx` will now correctly locate the `derivepassphrase` manpages and make them available to the user. &lt;/pre&gt; tag:gitlist.org,2012:commit/6eed9899514c22872a8663e3e3016329f0f1a723 Merge topic branch 'quality-control-automation' into master 2025-02-10T00:20:26+01:00 Marco Ricci software@the13thletter.info <pre>* t/quality-control-automation: Document the addition of quality control tools in the changelog Fix automatic quality control handling of too-long lines Fix minor message deviations in the source tree and phrasing in the manpages Add message IDs (and missing entries) to the manpage diagnostics listings Add quality control scripts Prepare `bump-my-version` for this project Store the version only in pyproject.toml &lt;/pre&gt; tag:gitlist.org,2012:commit/b07a5d00772ffb89628ab3ce8d251eaef76a01f1 Document the addition of quality control tools in the changelog 2025-02-10T00:15:57+01:00 Marco Ricci software@the13thletter.info <pre>&lt;/pre&gt; tag:gitlist.org,2012:commit/09205797f62a19bf3f7dd9f203cf10f6b541e0ee Fix automatic quality control handling of too-long lines 2025-02-09T22:17:47+01:00 Marco Ricci software@the13thletter.info <pre>In general, we want the formatter to deal with too-long lines (E501) as much as possible by itself, and the linter to warn us on E501 lines the formatter *cannot* deal with. However, just naively running the linter and formatter causes the linter to abort on any E501 lines it encounters, because the linter cannot auto-fix them. So we want to run the linter twice, once before the formatter and once after the formatter, while ignoring E501 violations in the first run. (But because E501 noqa markers are now treated as unnecessary noqa markers during the first linting run, we actually need to ignore both E501 and RUF100 in the first run.) &lt;/pre&gt;