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 fromdirPath
intodestPath
.func CreateInPlace(dirPath string) error
: create a tar archive fromdirPath
"in-place", iedirPath
is removed once the archive has been created and adirPath.tar
file is created.func Extract(destPath, archivePath string) error
: extract a tar archive fromarchivePath
intodestPath
.func ExtractInPlace(archivePath string) error
: extract a tar archive fromarchivePath
"in-place", iearchivePath
is removed after the archive has been extracted (note: it expectsarchivePath
to have a file extension).
- As pointed out in the documentation of
Create
andCreateInPlace
(see #1), the use of filepath.Dir introduces different behavior depending on the way you define your path:- With '/foo/bar',
filepath.Dir
will 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.Dir
will 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',