diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-12-17 18:08:36 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-17 18:08:36 +0100 |
commit | e6b843312b93ddaf99d0ef94a7e60ff66bc0eac8 (patch) | |
tree | 3135d30aaa577ea0c23b816bc946272f6ae8148d /libpod/diff.go | |
parent | fab67f33930cf793d6780408406bc0305c70ff8f (diff) | |
parent | 225c7ae6c98300fc8d9536fa31c0ae9f8231c5c0 (diff) | |
download | podman-e6b843312b93ddaf99d0ef94a7e60ff66bc0eac8.tar.gz podman-e6b843312b93ddaf99d0ef94a7e60ff66bc0eac8.tar.bz2 podman-e6b843312b93ddaf99d0ef94a7e60ff66bc0eac8.zip |
Merge pull request #4643 from adrianreber/master
Correctly export the root file-system changes
Diffstat (limited to 'libpod/diff.go')
-rw-r--r-- | libpod/diff.go | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/libpod/diff.go b/libpod/diff.go index 925bda927..baa4d6ad7 100644 --- a/libpod/diff.go +++ b/libpod/diff.go @@ -1,7 +1,6 @@ package libpod import ( - "archive/tar" "io" "github.com/containers/libpod/libpod/layers" @@ -47,49 +46,6 @@ func (r *Runtime) GetDiff(from, to string) ([]archive.Change, error) { return rchanges, err } -// skipFileInTarAchive is an archive.TarModifierFunc function -// which tells archive.ReplaceFileTarWrapper to skip files -// from the tarstream -func skipFileInTarAchive(path string, header *tar.Header, content io.Reader) (*tar.Header, []byte, error) { - return nil, nil, nil -} - -// GetDiffTarStream returns the differences between the two images, layers, or containers. -// It is the same functionality as GetDiff() except that it returns a tarstream -func (r *Runtime) GetDiffTarStream(from, to string) (io.ReadCloser, error) { - toLayer, err := r.getLayerID(to) - if err != nil { - return nil, err - } - fromLayer := "" - if from != "" { - fromLayer, err = r.getLayerID(from) - if err != nil { - return nil, err - } - } - rc, err := r.store.Diff(fromLayer, toLayer, nil) - if err != nil { - return nil, err - } - - // Skip files in the tar archive which are listed - // in containerMounts map. Just as in the GetDiff() - // function from above - filterMap := make(map[string]archive.TarModifierFunc) - for key := range containerMounts { - filterMap[key[1:]] = skipFileInTarAchive - // In the tarstream directories always include a trailing '/'. - // For simplicity this duplicates every entry from - // containerMounts with a trailing '/', as containerMounts - // does not use trailing '/' for directories. - filterMap[key[1:]+"/"] = skipFileInTarAchive - } - - filteredTarStream := archive.ReplaceFileTarWrapper(rc, filterMap) - return filteredTarStream, nil -} - // ApplyDiffTarStream applies the changes stored in 'diff' to the layer 'to' func (r *Runtime) ApplyDiffTarStream(to string, diff io.Reader) error { toLayer, err := r.getLayerID(to) |