/targo

Go package to create and extract tar archives

Primary LanguageGoBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

targo - A Go package to create and extract tar archives

License Build Status GoDoc GoWalker

targo provides functions to create or extract tar archives. This package has no dependencies and relies only on the Go standard library.

  • func Create(destPath, dirPath string) error: create a tar archive from dirPath into destPath.
  • func CreateInPlace(dirPath string) error: create a tar archive from dirPath "in-place", ie dirPath is removed once the archive has been created and a dirPath.tar file is created.
  • func Extract(destPath, archivePath string) error: extract a tar archive from archivePath into destPath.
  • func ExtractInPlace(archivePath string) error: extract a tar archive from archivePath "in-place", ie archivePath is removed after the archive has been extracted (note: it expects archivePath to have a file extension).

Notes

  • As pointed out in the documentation of Create and CreateInPlace (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.