Kaynağa Gözat

ApplyLayer() use RemoveAll to handle removing directories

rmTargetPath can be a directory, so we have to use RemoveAll() or we
will fail to whiteout non-empty directories.
Alexander Larsson 11 yıl önce
ebeveyn
işleme
006e2a600c
1 değiştirilmiş dosya ile 1 ekleme ve 1 silme
  1. 1 1
      archive/diff.go

+ 1 - 1
archive/diff.go

@@ -49,7 +49,7 @@ func ApplyLayer(dest string, layer Archive) error {
 			rmTargetPath := filepath.Join(filepath.Dir(fullPath), rmTargetName)
 			// Remove the file targeted by the whiteout
 			log.Printf("Removing whiteout target %s", rmTargetPath)
-			_ = os.Remove(rmTargetPath)
+			_ = os.RemoveAll(rmTargetPath)
 			// Remove the whiteout itself
 			log.Printf("Removing whiteout %s", fullPath)
 			_ = os.RemoveAll(fullPath)