Windows: Fix wildcard expansion after slash in filename
Signed-off-by: Darren Stahl <darst@microsoft.com>
This commit is contained in:
parent
e08b2f7a08
commit
309056648c
4 changed files with 24 additions and 15 deletions
|
@ -375,18 +375,6 @@ func (b *Builder) calcCopyInfo(cmdName, origPath string, allowLocalDecompression
|
|||
return copyInfos, nil
|
||||
}
|
||||
|
||||
func containsWildcards(name string) bool {
|
||||
for i := 0; i < len(name); i++ {
|
||||
ch := name[i]
|
||||
if ch == '\\' {
|
||||
i++
|
||||
} else if ch == '*' || ch == '?' || ch == '[' {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (b *Builder) processImageFrom(img builder.Image) error {
|
||||
if img != nil {
|
||||
b.image = img.ImageID()
|
||||
|
|
|
@ -24,3 +24,15 @@ func normaliseDest(cmdName, workingDir, requested string) (string, error) {
|
|||
}
|
||||
return dest, nil
|
||||
}
|
||||
|
||||
func containsWildcards(name string) bool {
|
||||
for i := 0; i < len(name); i++ {
|
||||
ch := name[i]
|
||||
if ch == '\\' {
|
||||
i++
|
||||
} else if ch == '*' || ch == '?' || ch == '[' {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
|
|
@ -54,3 +54,13 @@ func normaliseDest(cmdName, workingDir, requested string) (string, error) {
|
|||
}
|
||||
return dest, nil
|
||||
}
|
||||
|
||||
func containsWildcards(name string) bool {
|
||||
for i := 0; i < len(name); i++ {
|
||||
ch := name[i]
|
||||
if ch == '*' || ch == '?' || ch == '[' {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
|
|
@ -849,7 +849,6 @@ RUN [ $(cat "/test dir/test_file6") = 'test6' ]`,
|
|||
}
|
||||
|
||||
func (s *DockerSuite) TestBuildCopyWildcard(c *check.C) {
|
||||
testRequires(c, DaemonIsLinux) // Windows doesn't have httpserver image yet
|
||||
name := "testcopywildcard"
|
||||
server, err := fakeStorage(map[string]string{
|
||||
"robots.txt": "hello",
|
||||
|
@ -863,10 +862,10 @@ func (s *DockerSuite) TestBuildCopyWildcard(c *check.C) {
|
|||
ctx, err := fakeContext(fmt.Sprintf(`FROM busybox
|
||||
COPY file*.txt /tmp/
|
||||
RUN ls /tmp/file1.txt /tmp/file2.txt
|
||||
RUN mkdir /tmp1
|
||||
RUN [ "mkdir", "/tmp1" ]
|
||||
COPY dir* /tmp1/
|
||||
RUN ls /tmp1/dirt /tmp1/nested_file /tmp1/nested_dir/nest_nest_file
|
||||
RUN mkdir /tmp2
|
||||
RUN [ "mkdir", "/tmp2" ]
|
||||
ADD dir/*dir %s/robots.txt /tmp2/
|
||||
RUN ls /tmp2/nest_nest_file /tmp2/robots.txt
|
||||
`, server.URL()),
|
||||
|
|
Loading…
Reference in a new issue