aboutsummaryrefslogtreecommitdiff
path: root/src/os/root.go
diff options
context:
space:
mode:
authorDamien Neil <dneil@google.com>2025-03-25 10:31:00 -0700
committerGopher Robot <gobot@golang.org>2025-03-28 11:02:40 -0700
commit26fdb07d4ce58885305283ba18960f582f4eaa73 (patch)
tree6291830ac80f793d1979ce338377f4556c86247a /src/os/root.go
parent656b5b3abe25d026725edff49edbdaa9862c9d77 (diff)
downloadgo-26fdb07d4ce58885305283ba18960f582f4eaa73.tar.xz
os: add Root.Symlink
For #67002 Change-Id: Ia1637b61eae49e97e1d07f058ad2390e74cd3403 Reviewed-on: https://go-review.googlesource.com/c/go/+/660635 Reviewed-by: Alan Donovan <adonovan@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Quim Muntal <quimmuntal@gmail.com> Auto-Submit: Damien Neil <dneil@google.com>
Diffstat (limited to 'src/os/root.go')
-rw-r--r--src/os/root.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/os/root.go b/src/os/root.go
index 8c82f94866..49d09fe97b 100644
--- a/src/os/root.go
+++ b/src/os/root.go
@@ -218,6 +218,18 @@ func (r *Root) Link(oldname, newname string) error {
return rootLink(r, oldname, newname)
}
+// Symlink creates newname as a symbolic link to oldname.
+// See [Symlink] for more details.
+//
+// Symlink does not validate oldname,
+// which may reference a location outside the root.
+//
+// On Windows, a directory link is created if oldname references
+// a directory within the root. Otherwise a file link is created.
+func (r *Root) Symlink(oldname, newname string) error {
+ return rootSymlink(r, oldname, newname)
+}
+
func (r *Root) logOpen(name string) {
if log := testlog.Logger(); log != nil {
// This won't be right if r's name has changed since it was opened,