Browse Source

Fix directory walker error checking

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Tonis Tiigi 9 years ago
parent
commit
81d24e754d
1 changed files with 10 additions and 10 deletions
  1. 10 10
      builder/context.go

+ 10 - 10
builder/context.go

@@ -29,6 +29,16 @@ func ValidateContextDirectory(srcPath string, excludes []string) error {
 		return err
 		return err
 	}
 	}
 	return filepath.Walk(contextRoot, func(filePath string, f os.FileInfo, err error) error {
 	return filepath.Walk(contextRoot, func(filePath string, f os.FileInfo, err error) error {
+		if err != nil {
+			if os.IsPermission(err) {
+				return fmt.Errorf("can't stat '%s'", filePath)
+			}
+			if os.IsNotExist(err) {
+				return nil
+			}
+			return err
+		}
+
 		// skip this directory/file if it's not in the path, it won't get added to the context
 		// skip this directory/file if it's not in the path, it won't get added to the context
 		if relFilePath, err := filepath.Rel(contextRoot, filePath); err != nil {
 		if relFilePath, err := filepath.Rel(contextRoot, filePath); err != nil {
 			return err
 			return err
@@ -41,16 +51,6 @@ func ValidateContextDirectory(srcPath string, excludes []string) error {
 			return nil
 			return nil
 		}
 		}
 
 
-		if err != nil {
-			if os.IsPermission(err) {
-				return fmt.Errorf("can't stat '%s'", filePath)
-			}
-			if os.IsNotExist(err) {
-				return nil
-			}
-			return err
-		}
-
 		// skip checking if symlinks point to non-existing files, such symlinks can be useful
 		// skip checking if symlinks point to non-existing files, such symlinks can be useful
 		// also skip named pipes, because they hanging on open
 		// also skip named pipes, because they hanging on open
 		if f.Mode()&(os.ModeSymlink|os.ModeNamedPipe) != 0 {
 		if f.Mode()&(os.ModeSymlink|os.ModeNamedPipe) != 0 {