Skip to content

[wiki] Page name change also moves page when parent dir has spaces in the name

Note: this issue is closely related to gitlab-ce#60320 and thus has similar text.

Summary

When modifying the title of a page that lives in a directory with spaces it actually moves the page as well. It takes the name of the directory the page is under, convert spaces to hyphens, create a new directory with that new name and moves the renamed page into that new directory. This behaviour is confusing and is unlikely to ever be what the user intends or wants.

It is possible because you can create directories with spaces when uploading via git but not using the web ui.

Steps To Reproduce

Clone wiki using git, create a directory with spaces in the name, add a page inside, push changes, rename the page in the web ui.

Example Project

https://gitlab.com/callumgare-ix/test-wiki/wikis/home

Screenshot_from_2019-04-10_10-23-41

Possible fixes

Ideally how titles are reformated should probably rethought more generally. To the user the fact that a page can have hyphens but a directory can't when using the web ui is seemly arbitrary, confusing and annoying. Being able to create directories with spaces using git when you can't with the web ui only increases this. However that connects to a bigger issues which are covered by the likes gitlab-ce#57751 & &700.

The scope of this issue is specificity about gitlab modifying a parent directory when renaming a page if the directory name has spaces in it. So a possible fix is to stop gitlab moving a page when only the title is changed.

Edited by Callum Gare