using tar/unzip util to handle archive instead of golang lib #22
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The original implementation does not handle symlink & hardlink, make the inflated file corrupted.
Using native tar/unzip utility for the best result without the trouble to implement a full-featured archiver.
Specific command copied directly from concourse/s3-resource
Note: before I copied the command from S3-resource, I also tried https://github.com/mholt/archiver as a replacement. But turns out it only works partially. The file I tested with is a Docker container archive, which is a rather complicated target.
mholt/archiver
was not able to handle some of the contents (links, especially, seems like links redirect several times is a nightmare to handle) in the archive. So I went with tar & unzip utilities, works perfectly. (Why Reinvent the wheel when there is a perfect one last decades? 😄)