Description
To help people to gather an idea about the difference between two artifacts, we could introduce a flux diff artifact <URL1> <URL2>
command which provides a (Git like) diff of the differences within the compressed tar+gzip
layers of the Artifact images.
To build this functionality, we need to decide on the diff library that should be used. Theoretically, we could piggy back on the diff utility library from go-git in combination with DiffPrettyText
. However, there are discussions at present to replace this due to certain issues.
An additional thing to take into account is that full decompression of <URL1>
and/or <URL2>
to disk may not be required, but that we rather iterate over the contents using tar#NewReader
in combination with reading the file contents from the current tar#Header
using io.Copy(out, reader)
.