diff options
author | Qi Wang <qiwan@redhat.com> | 2019-03-04 09:45:32 -0500 |
---|---|---|
committer | Qi Wang <qiwan@redhat.com> | 2019-03-04 09:48:17 -0500 |
commit | c8bf73883cbb0e197eee197a89e60ff99f9f947b (patch) | |
tree | 3908339bc5b24b634fea2344c83f20245b171812 | |
parent | d63c8b00321f7e1d7c3cbfe3d1a57c9283d10d37 (diff) | |
download | podman-c8bf73883cbb0e197eee197a89e60ff99f9f947b.tar.gz podman-c8bf73883cbb0e197eee197a89e60ff99f9f947b.tar.bz2 podman-c8bf73883cbb0e197eee197a89e60ff99f9f947b.zip |
Don't extract tar file in podman cp
Signed-off-by: Qi Wang <qiwan@redhat.com>
-rw-r--r-- | cmd/podman/cp.go | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/cmd/podman/cp.go b/cmd/podman/cp.go index 30b6d75d2..5958370b6 100644 --- a/cmd/podman/cp.go +++ b/cmd/podman/cp.go @@ -240,7 +240,6 @@ func copy(src, destPath, dest string, idMappingOpts storage.IDMappingOptions, ch // return functions for copying items copyFileWithTar := chrootarchive.CopyFileWithTarAndChown(chownOpts, digest.Canonical.Digester().Hash(), idMappingOpts.UIDMap, idMappingOpts.GIDMap) copyWithTar := chrootarchive.CopyWithTarAndChown(chownOpts, digest.Canonical.Digester().Hash(), idMappingOpts.UIDMap, idMappingOpts.GIDMap) - untarPath := chrootarchive.UntarPathAndChown(chownOpts, digest.Canonical.Digester().Hash(), idMappingOpts.UIDMap, idMappingOpts.GIDMap) if srcfi.IsDir() { @@ -263,17 +262,11 @@ func copy(src, destPath, dest string, idMappingOpts storage.IDMappingOptions, ch if destfi != nil && destfi.IsDir() { destPath = filepath.Join(destPath, filepath.Base(srcPath)) } - // Copy the file, preserving attributes. - logrus.Debugf("copying %q to %q", srcPath, destPath) - if err = copyFileWithTar(srcPath, destPath); err != nil { - return errors.Wrapf(err, "error copying %q to %q", srcPath, destPath) - } - return nil } - // We're extracting an archive into the destination directory. - logrus.Debugf("extracting contents of %q into %q", srcPath, destPath) - if err = untarPath(srcPath, destPath); err != nil { - return errors.Wrapf(err, "error extracting %q into %q", srcPath, destPath) + // Copy the file, preserving attributes. + logrus.Debugf("copying %q to %q", srcPath, destPath) + if err = copyFileWithTar(srcPath, destPath); err != nil { + return errors.Wrapf(err, "error copying %q to %q", srcPath, destPath) } return nil } |