X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/98911cfe4792b20798858cefb353c451460e1a80..9acc8cb9cd9ca4429712b0d31b647e9a6ecf2d96:/services/keep-web/webdav.go diff --git a/services/keep-web/webdav.go b/services/keep-web/webdav.go index 5b23c9c5fa..501c355a73 100644 --- a/services/keep-web/webdav.go +++ b/services/keep-web/webdav.go @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -package main +package keepweb import ( "crypto/rand" @@ -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" @@ -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) }