Merge pull request #11002 from ahmetalpbalkan/win-cli/dockerfile-path-fix
Support windows style dockerfile paths for build cmd
This commit is contained in:
commit
2a627ca2f7
5 changed files with 5 additions and 5 deletions
|
@ -175,7 +175,7 @@ type tarAppender struct {
|
||||||
// canonicalTarName provides a platform-independent and consistent posix-style
|
// canonicalTarName provides a platform-independent and consistent posix-style
|
||||||
//path for files and directories to be archived regardless of the platform.
|
//path for files and directories to be archived regardless of the platform.
|
||||||
func canonicalTarName(name string, isDir bool) (string, error) {
|
func canonicalTarName(name string, isDir bool) (string, error) {
|
||||||
name, err := canonicalTarNameForPath(name)
|
name, err := CanonicalTarNameForPath(name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ import (
|
||||||
// canonicalTarNameForPath returns platform-specific filepath
|
// canonicalTarNameForPath returns platform-specific filepath
|
||||||
// to canonical posix-style path for tar archival. p is relative
|
// to canonical posix-style path for tar archival. p is relative
|
||||||
// path.
|
// path.
|
||||||
func canonicalTarNameForPath(p string) (string, error) {
|
func CanonicalTarNameForPath(p string) (string, error) {
|
||||||
return p, nil // already unix-style
|
return p, nil // already unix-style
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@ func TestCanonicalTarNameForPath(t *testing.T) {
|
||||||
{"foo/dir/", "foo/dir/"},
|
{"foo/dir/", "foo/dir/"},
|
||||||
}
|
}
|
||||||
for _, v := range cases {
|
for _, v := range cases {
|
||||||
if out, err := canonicalTarNameForPath(v.in); err != nil {
|
if out, err := CanonicalTarNameForPath(v.in); err != nil {
|
||||||
t.Fatalf("cannot get canonical name for path: %s: %v", v.in, err)
|
t.Fatalf("cannot get canonical name for path: %s: %v", v.in, err)
|
||||||
} else if out != v.expected {
|
} else if out != v.expected {
|
||||||
t.Fatalf("wrong canonical tar name. expected:%s got:%s", v.expected, out)
|
t.Fatalf("wrong canonical tar name. expected:%s got:%s", v.expected, out)
|
||||||
|
|
|
@ -12,7 +12,7 @@ import (
|
||||||
// canonicalTarNameForPath returns platform-specific filepath
|
// canonicalTarNameForPath returns platform-specific filepath
|
||||||
// to canonical posix-style path for tar archival. p is relative
|
// to canonical posix-style path for tar archival. p is relative
|
||||||
// path.
|
// path.
|
||||||
func canonicalTarNameForPath(p string) (string, error) {
|
func CanonicalTarNameForPath(p string) (string, error) {
|
||||||
// windows: convert windows style relative path with backslashes
|
// windows: convert windows style relative path with backslashes
|
||||||
// into forward slashes. since windows does not allow '/' or '\'
|
// into forward slashes. since windows does not allow '/' or '\'
|
||||||
// in file names, it is mostly safe to replace however we must
|
// in file names, it is mostly safe to replace however we must
|
||||||
|
|
|
@ -17,7 +17,7 @@ func TestCanonicalTarNameForPath(t *testing.T) {
|
||||||
{`foo\bar`, "foo/bar/", false},
|
{`foo\bar`, "foo/bar/", false},
|
||||||
}
|
}
|
||||||
for _, v := range cases {
|
for _, v := range cases {
|
||||||
if out, err := canonicalTarNameForPath(v.in); err != nil && !v.shouldFail {
|
if out, err := CanonicalTarNameForPath(v.in); err != nil && !v.shouldFail {
|
||||||
t.Fatalf("cannot get canonical name for path: %s: %v", v.in, err)
|
t.Fatalf("cannot get canonical name for path: %s: %v", v.in, err)
|
||||||
} else if v.shouldFail && err == nil {
|
} else if v.shouldFail && err == nil {
|
||||||
t.Fatalf("canonical path call should have pailed with error. in=%s out=%s", v.in, out)
|
t.Fatalf("canonical path call should have pailed with error. in=%s out=%s", v.in, out)
|
||||||
|
|
Loading…
Reference in a new issue