ssm-diff icon indicating copy to clipboard operation
ssm-diff copied to clipboard

Improved concurrency handling in `pull`

Open ambsw-technology opened this issue 5 years ago • 2 comments

I've been digging through the implementation and it looks like the force flag in pull only supports two modes:

  • Keep all local value and add any new values from SSM (don't force)
  • Overwrite all local values with all remote values, implicitly preserving added values (force)

It would be nice to be able to provide more granular concurrency options. For example, consider the following three cases:

  1. Key1 changed locally but not on SSM
  2. Key1 changed locally and was changed in SSM
  3. Key1 only changed on SSM

In git, the pull behavior is more like:

  1. Preserves this value
  2. Identifies the conflict and throws an exception (unless you prefer-local or prefer-remote)
  3. Update this value

It'd be nice to support something similar.

ambsw-technology avatar Apr 29 '19 15:04 ambsw-technology