Skip to content

derivepassphrase bug amend-vault-config

Bug details: derivepassphrase vault --import overwrites config instead of amending it

ClassbugThis is clearly an actual problem we want fixed.
Present-in0.1.0 0.1.1 0.1.2 0.2.0
Fixed-in7d6ac080e84b06a116063b3cfec9c40620242b94 (0.3.0)

When importing a vault(1) configuration, derivepassphrase unconditionally overwrites the existing configuration with the imported one.

vault(1) however overwrites the existing configuration section-wise: each named service, and the global configuration if mentioned, is overwritten in whole by the respective imported settings. This means that unmentioned named services (and perhaps the global section) are inherited from before the import. (This should probably be called “merging” instead of “importing”.)

While I find derivepassphrase’s current import-without-merge behavior more intuitive than the import-with-merge behavior, vault(1) uses the latter. Therefore, for compatibility with vault(1), implement the latter by default.