]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: use path.Dir instead of filepath.Dir for package paths in 'go mod vendor'
authorYasuhiro Matsumoto <mattn.jp@gmail.com>
Tue, 22 Jun 2021 16:02:33 +0000 (01:02 +0900)
committerBryan C. Mills <bcmills@google.com>
Thu, 1 Jul 2021 17:10:36 +0000 (17:10 +0000)
copyMetadata walk-up to parent directory until the pkg become modPath.
But pkg should be slash-separated paths. It have to use path.Dir instead of
filepath.Dir.

Fixes #46867

Change-Id: I44cf1429fe52379a7415b94cc30ae3275cc430e8
Reviewed-on: https://go-review.googlesource.com/c/go/+/330149
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Trust: Bryan C. Mills <bcmills@google.com>
Trust: Alexander Rakoczy <alex@golang.org>
Trust: Carlos Amedee <carlos@golang.org>
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Go Bot <gobot@golang.org>

src/cmd/go/internal/modcmd/vendor.go

index 8e1c0432f72d41e3ede9f06cabe7912fe8eef938..713d5f9f3faa6ac9fb58dffc561c96d2dd5b1b70 100644 (file)
@@ -13,6 +13,7 @@ import (
        "io"
        "io/fs"
        "os"
+       "path"
        "path/filepath"
        "sort"
        "strings"
@@ -299,7 +300,7 @@ func copyMetadata(modPath, pkg, dst, src string, copiedFiles map[string]bool) {
                if modPath == pkg {
                        break
                }
-               pkg = filepath.Dir(pkg)
+               pkg = path.Dir(pkg)
                dst = filepath.Dir(dst)
                src = filepath.Dir(src)
        }