X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c69d271455a0550cda8e56ab6a4685fe3d7d91ea..e3f324c979fe45803e2bd42aa8f6d715ea23edb5:/services/keep-web/webdav.go diff --git a/services/keep-web/webdav.go b/services/keep-web/webdav.go index 3e62b19bbe..f9b753869a 100644 --- a/services/keep-web/webdav.go +++ b/services/keep-web/webdav.go @@ -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) }