https://git.schokokeks.org/derivepassphrase.git/tree/d505bce64d4b2251c87b59f1577a072e8ed551b4Recent commits to derivepassphrase.git (d505bce64d4b2251c87b59f1577a072e8ed551b4)2024-12-12T12:02:50+01:00tag:gitlist.org,2012:commit/d505bce64d4b2251c87b59f1577a072e8ed551b4Merge topic branch 'import-override-mode' into master2024-12-12T12:02:50+01:00Marco Riccisoftware@the13thletter.info
<pre>* t/import-override-mode:
Allow the user to overwrite the current vault configuration
Test config merging with partial service configs too
</pre>
tag:gitlist.org,2012:commit/9a88450ed3941eae25938053149a8bbf89c319c8Allow the user to overwrite the current vault configuration2024-12-12T11:59:47+01:00Marco Riccisoftware@the13thletter.info
<pre>In the "vault" derivation scheme, commands that edit or import
a configuration actually merge with the existing configuration, for
compatibility with the original vault(1). However, sometimes it is
desired to replace the existing configuration instead, when importing
or when setting a (service or global) configuration. We introduce a new
`--overwrite-existing` command-line option that signals exactly that,
and a `--merge-existing` option which signals the (previously implicit)
default merging behavior.
</pre>
tag:gitlist.org,2012:commit/7a4f215faf88345111135676203f9e7373e2ea98Test config merging with partial service configs too2024-12-12T11:59:47+01:00Marco Riccisoftware@the13thletter.info
<pre>Using larger numbers of settings (and services) leads to a very low
probability of actually finding a viable path of action in the state
machine; the run is a no-op, save for the initial setup. Presumably, we
need a larger pool of readily-assembled and/or more cross-compatible
objects, instead of the stepwise approach employed here with service
names, settings, and configurations. This needs to be addressed in
a future commit, however.
</pre>
tag:gitlist.org,2012:commit/e97b966ecba87289b839e0fbac736f0b53782ed5Merge topic branch 'pageant082' into master2024-12-09T11:36:00+01:00Marco Riccisoftware@the13thletter.info
<pre>* t/pageant082:
Explicitly support Pageant 0.82 in the test suite
GitHub: Closes #14.
</pre>
tag:gitlist.org,2012:commit/fdef62d81b60bf2188f957874775500abc1f5a36Explicitly support Pageant 0.82 in the test suite2024-12-09T11:30:59+01:00Marco Riccisoftware@the13thletter.info
<pre>Pageant 0.82, released two weeks ago, supports both proper output buffer
flushing and a "foreground" mode. Foreground mode is used to correctly
isolate a spawned Pageant instance in the test suite. The test for
Pageant's suitability can now be simplified to whether it is at least
version 0.82, or not.
Furthermore, because no published version of Pageant supports only
proper output buffer flushing but not foreground mode, it is no longer
necessary to arrange for debug output to be silently discarded. This
further simplifies SSH agent handling considerably.
Finally, we fix various mistakes in the documentation of the testing
machinery.
</pre>
tag:gitlist.org,2012:commit/b9dd956b59b6f53a572076fea6d686f1626eeba8Clean up "docs" hatch environment, also subsuming "release"2024-12-08T19:06:33+01:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/d4a0d475385ea6bd9d559eb1cd23f2f98a259cf9Merge topic branch 'logging' into master2024-12-08T19:03:08+01:00Marco Riccisoftware@the13thletter.info
<pre>* t/logging:
Document the switch to the logging and warning systems in the changelog
</pre>
tag:gitlist.org,2012:commit/ad0fe1ec36de50d886fc4b0ed988203bc557c90fDocument the switch to the logging and warning systems in the changelog2024-12-08T19:02:03+01:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/1ec3538850a7af2723f17b8ca8dfe93158b421cbRefactor code to run under Python 3.9's LL(1) parser2024-12-08T17:44:25+01:00Marco Riccisoftware@the13thletter.info
<pre>Though it does not do so by default, Python 3.9 can run with the old
LL(1) parser instead of the PEG-based parser. Most importantly, the
LL(1) parser does not support parenthesized context manager expressions,
and this is why they have only become officially supported in Python
3.10, once the PEG-based parser became mandatory. Therefore, for
compatibility, we replace every "proper" parenthesized context manager
expression with equivalent explicit use of a `contextlib.ExitStack`, and
every degenerate such expression by removing the parentheses.
We now also explicitly test `derivepassphrase` with the LL(1) parser,
for as long as Python 3.9 remains supported.
While the use of a `contextlib.ExitStack` comes with additional runtime
cost, by a lucky coincidence, all such proper usage of parenthesized
context manager expressions is confined to the test suite, where we
really don't care too much about slightly higher runtimes if it buys us
more clarity, correctness and compatibility instead.
</pre>
tag:gitlist.org,2012:commit/c60c4077952fd420bc5ba0e86174e27289d96e2eMerge topic branch 'logging' into master2024-12-08T12:36:36+01:00Marco Riccisoftware@the13thletter.info
<pre>* t/logging:
Adapt the test suite to use the logging system properly
Emit new info messages and better debug messages in the exporter modules
Use the logging system to emit warnings and error messages
Shift option parsing and grouping machinery to a separate section
Reimplement deprecated subcommands, properly, in `click`
</pre>