The change fixes `linkOrCopy` to work on systems wihtout symlinks,
when copying directories. This was originally noticed on Windows
systems when the user did not have admin privs.
Fixes #73692
Change-Id: I8ca66d65e99433ad38e70314abfabafd43794b79
Reviewed-on: https://go-review.googlesource.com/c/go/+/672275
Reviewed-by: Michael Matloob <matloob@golang.org>
Reviewed-by: Michael Matloob <matloob@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
if err == nil {
return
}
+ fi, err := os.Stat(src)
+ if err != nil {
+ t.Fatalf("copying %s to %s: %v", src, dst, err)
+ }
+ if fi.IsDir() {
+ if err := os.CopyFS(dst, os.DirFS(src)); err != nil {
+ t.Fatalf("copying %s to %s: %v", src, dst, err)
+ }
+ return
+ }
srcf, err := os.Open(src)
if err != nil {
t.Fatalf("copying %s to %s: %v", src, dst, err)