Add manifest merging support
- [x] Requires https://github.com/docker/cli/pull/3990.
- What I did
Introduced support for to merge manifest lists and OCI indexes to the docker manifest command.
- How I did it
We refactor the manifest store to save and load groups of manifests, instead of only one. On disk, these manifests take the form of suffixed indexes, e.g. "_2", "_3", etc (note that we ignore "_1", which is permitted to allow a backwards-compatible change with the previous disk format).
Then, only the commands need small updates - "create" now looks up multiple manifests and saves multiple manifests, while "annotate" now annotates all the matching manifests.
- How to verify it
Use docker manifest with multiple docker manifests - e.g. docker manifest create library/ubuntu library/alpine
- Description for the changelog
Add support for merging manifest lists to docker manifest
- A picture of a cute animal (not mandatory but encouraged)

cc @thaJeztah @crazy-max
This one probably can be rebased now (as the other PR was merged)
Codecov Report
Merging #3994 (577dc07) into master (3ae101f) will decrease coverage by
0.06%. The diff coverage is63.63%.
Additional details and impacted files
@@ Coverage Diff @@
## master #3994 +/- ##
==========================================
- Coverage 59.15% 59.09% -0.06%
==========================================
Files 287 287
Lines 24723 24763 +40
==========================================
+ Hits 14624 14634 +10
- Misses 9214 9236 +22
- Partials 885 893 +8