Explorar o código

archive.ApplyLayer() remove files recursively

Some aufs metadata are directories, and whiteouts can be for
directories, so use os.RemoveAll() for these.
Alexander Larsson %!s(int64=11) %!d(string=hai) anos
pai
achega
484804abff
Modificáronse 1 ficheiros con 2 adicións e 2 borrados
  1. 2 2
      archive/diff.go

+ 2 - 2
archive/diff.go

@@ -35,7 +35,7 @@ func ApplyLayer(dest string, layer Archive) error {
 			return err
 		} else if matched {
 			log.Printf("Removing aufs metadata %s", fullPath)
-			_ = os.Remove(fullPath)
+			_ = os.RemoveAll(fullPath)
 		}
 
 		filename := filepath.Base(path)
@@ -47,7 +47,7 @@ func ApplyLayer(dest string, layer Archive) error {
 			_ = os.Remove(rmTargetPath)
 			// Remove the whiteout itself
 			log.Printf("Removing whiteout %s", fullPath)
-			_ = os.Remove(fullPath)
+			_ = os.RemoveAll(fullPath)
 		}
 		return nil
 	})