Windows: Fix long path handling for docker build

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
Upstream-commit: 9b648dfac6453de5944ee4bb749115d85a253a05
Component: engine
This commit is contained in:
Stefan J. Wernli
2015-08-24 14:07:22 -07:00
parent 1f4f6c3414
commit 965c460a95
15 changed files with 272 additions and 16 deletions

View File

@ -5,10 +5,18 @@ package directory
import (
"os"
"path/filepath"
"strings"
"github.com/docker/docker/pkg/longpath"
)
// Size walks a directory tree and returns its total size in bytes.
func Size(dir string) (size int64, err error) {
fixedPath, err := filepath.Abs(dir)
if err != nil {
return
}
fixedPath = longpath.AddPrefix(fixedPath)
err = filepath.Walk(dir, func(d string, fileInfo os.FileInfo, e error) error {
// Ignore directory sizes
if fileInfo == nil {