https://git.schokokeks.org/derivepassphrase.git/tree/0082382cfcce300acfebd5f907b2a26476366c47Recent commits to derivepassphrase.git (0082382cfcce300acfebd5f907b2a26476366c47)2025-02-11T20:14:05+01:00tag:gitlist.org,2012:commit/0082382cfcce300acfebd5f907b2a26476366c47Merge topic branch 'pipx-and-release-data-files' into master2025-02-11T20:14:05+01:00Marco Riccisoftware@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
</pre>
tag:gitlist.org,2012:commit/4e800e27ab5b23ab8867bd5d74fdde3243a78833Merge topic branch 'fix-notes-test' into master2025-02-11T18:26:05+01:00Marco Riccisoftware@the13thletter.info
<pre>* t/fix-notes-test:
Fix faulty notes usage test
</pre>
tag:gitlist.org,2012:commit/3f9422dcc3ef734b315fc2f46287d6e617c2646fFix faulty notes usage test2025-02-11T18:18:41+01:00Marco Riccisoftware@the13thletter.info
<pre>The test only ever really acts on the whitespace-trimmed notes, so write
it as such.
</pre>
tag:gitlist.org,2012:commit/4b517365513d843948b8ead9f155b6590989f22fAutomatically check and build the translations on master via hatch-gettext2025-02-11T16:30:37+01:00Marco Riccisoftware@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.)
</pre>
tag:gitlist.org,2012:commit/f7608463671f7220e5fc9c1585a3af94b1496390Fix multiple small issues with the CLI messages2025-02-11T15:13:16+01:00Marco Riccisoftware@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
</pre>
tag:gitlist.org,2012:commit/0eb4c387b975bc396a46731f8da33368978a005fAllow forcing the branch name on the automatic quality control script2025-02-11T13:57:22+01:00Marco Riccisoftware@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.
</pre>
tag:gitlist.org,2012:commit/fb7d17d3c5629869cae528ce72f80dca4f433acfMake the manpages installable under pipx2025-02-11T00:57:53+01:00Marco Riccisoftware@the13thletter.info
<pre>When using `pipx` to install `derivepassphrase`, `pipx` will now
correctly locate the `derivepassphrase` manpages and make them available
to the user.
</pre>
tag:gitlist.org,2012:commit/6eed9899514c22872a8663e3e3016329f0f1a723Merge topic branch 'quality-control-automation' into master2025-02-10T00:20:26+01:00Marco Riccisoftware@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
</pre>
tag:gitlist.org,2012:commit/b07a5d00772ffb89628ab3ce8d251eaef76a01f1Document the addition of quality control tools in the changelog2025-02-10T00:15:57+01:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/09205797f62a19bf3f7dd9f203cf10f6b541e0eeFix automatic quality control handling of too-long lines2025-02-09T22:17:47+01:00Marco Riccisoftware@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.)
</pre>