Explorar o código

Merge pull request #33956 from keloyang/fix-cp-with-hardlink

Fix docker cp dir with hard link
Sebastiaan van Stijn %!s(int64=8) %!d(string=hai) anos
pai
achega
9789530b46
Modificáronse 1 ficheiros con 3 adicións e 0 borrados
  1. 3 0
      pkg/archive/copy.go

+ 3 - 0
pkg/archive/copy.go

@@ -332,6 +332,9 @@ func RebaseArchiveEntries(srcContent io.Reader, oldBase, newBase string) io.Read
 			}
 
 			hdr.Name = strings.Replace(hdr.Name, oldBase, newBase, 1)
+			if hdr.Typeflag == tar.TypeLink {
+				hdr.Linkname = strings.Replace(hdr.Linkname, oldBase, newBase, 1)
+			}
 
 			if err = rebasedTar.WriteHeader(hdr); err != nil {
 				w.CloseWithError(err)