targo provides functions to create or extract tar archives. This package has
no dependencies and relies only on the Go standard library.
Usage (full documentation here)
func Create(destPath, dirPath string) error: create a tar archive fromdirPathintodestPath.func CreateInPlace(dirPath string) error: create a tar archive fromdirPath"in-place", iedirPathis removed once the archive has been created and adirPath.tarfile is created.func Extract(destPath, archivePath string) error: extract a tar archive fromarchivePathintodestPath.func ExtractInPlace(archivePath string) error: extract a tar archive fromarchivePath"in-place", iearchivePathis removed after the archive has been extracted (note: it expectsarchivePathto have a file extension).
- As pointed out in the documentation of
CreateandCreateInPlace(see #1), the use of filepath.Dir introduces different behavior depending on the way you define your path:- With '/foo/bar',
filepath.Dirwill consider 'bar' as the last token and return '/foo'. This will produce a tar archive with the 'bar' directory as the root directory of the archive. - With '/foo/bar/',
filepath.Dirwill consider '/.' as the last token and return '/foo/bar'. As a consequence, the content of the 'bar' directory will be placed at the root of the archive.
- With '/foo/bar',