Просмотр исходного кода

Merge pull request #17 from alexlarsson/dm-plugin-whiteout-directory

archive.ApplyLayer() - handle directory whiteouts
Guillaume J. Charmes 11 лет назад
Родитель
Сommit
50d80a8938
1 измененных файлов с 5 добавлено и 0 удалено
  1. 5 0
      archive/diff.go

+ 5 - 0
archive/diff.go

@@ -20,6 +20,11 @@ func ApplyLayer(dest string, layer Archive) error {
 	// Step 2: walk for whiteouts and apply them, removing them in the process
 	err := filepath.Walk(dest, func(fullPath string, f os.FileInfo, err error) error {
 		if err != nil {
+			if os.IsNotExist(err) {
+				// This happens in the case of whiteouts in parent dir removing a directory
+				// We just ignore it
+				return filepath.SkipDir
+			}
 			return err
 		}