X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/b5367444a51cc91e7b589bfdb68eb12e8a1f4937..2af7b0336b2b92e38f6966b8bbc233c05704815d:/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) }