toumorokoshi/sprinter

Deletions are not picked up on update

Opened this issue · 1 comments

When updating an environment, deletions from the original manifest should be carried over to the updated manifest.

Repro steps

  • install a manifest (file or http should both repro)
  • delete a definition from the original manifext
  • update the environment

expected result
The deleted definition should not bee kept.

actual result
The deleted definition remains.

This is happening because we are loading the cached manifest, and then updating it with the original manifest. It seems we should only load the original manifest and copy over the input values. It would be preferable to only copy over the non-orphan input values, but copying over all input values would be acceptable.

yeah, this is kind of a horrible mistake on the design. I didn't separate user-driven configuration from the .ini file. Until that separation can happen (and I don't know a good, backwards-compatible way to do that now), we're kind of stuck with this..

we may be better off creating a new major version of sprinter, with a backwards-incompatible manifest schema which would fix this.