X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c69d271455a0550cda8e56ab6a4685fe3d7d91ea..79bce4a71a58118a9003882e0ca9bbfb9d2957a9:/services/keep-web/webdav.go diff --git a/services/keep-web/webdav.go b/services/keep-web/webdav.go index 3e62b19bbe..a7b7980995 100644 --- a/services/keep-web/webdav.go +++ b/services/keep-web/webdav.go @@ -16,7 +16,7 @@ import ( "sync/atomic" "time" - "git.curoverse.com/arvados.git/sdk/go/arvados" + "git.arvados.org/arvados.git/sdk/go/arvados" "golang.org/x/net/context" "golang.org/x/net/webdav" @@ -50,7 +50,7 @@ func (fs *webdavFS) makeparents(name string) { if !fs.writing { return } - dir, name := path.Split(name) + dir, _ := path.Split(name) if dir == "" || dir == "/" { return } @@ -100,6 +100,11 @@ func (fs *webdavFS) Rename(ctx context.Context, oldName, newName string) error { if !fs.writing { return errReadOnly } + if strings.HasSuffix(oldName, "/") { + // WebDAV "MOVE foo/ bar/" means rename foo to bar. + oldName = oldName[:len(oldName)-1] + newName = strings.TrimSuffix(newName, "/") + } fs.makeparents(newName) return fs.collfs.Rename(oldName, newName) }