Limit length of wiki file/directory names
What does this MR do?
Many common file systems have a limit of 255 bytes for file and directory names, and while Git and GitLab both support paths exceeding those limits, the presence of them makes it impossible for users on those file systems to checkout a wiki repository locally.
To avoid this situation, we enforce these limits when editing pages through the GitLab web interface and API:
- 245 bytes for page titles (reserving 10 bytes for the file extension)
- 255 bytes for directory names
The validation errors look as follows, for a title of
aaa.../aaa.... Only one of them might be shown, depending on which part of the title is too long. There's also a new "Learn more" link below the title field which points to the "Creating a new wiki page" section which now mentions these limits:
Does this MR meet the acceptance criteria?
- Changelog entry
- Documentation (if required)
- Code review guidelines
- Merge request performance guidelines
- Style guides
- Database guides
- [-] Separation of EE specific content
Availability and Testing
- Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process.
- [-] Tested in all supported browsers
- [-] Informed Infrastructure department of a default or new setting change, if applicable per definition of done
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
- [-] Label as security and @ mention
- [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
- [-] Security reports checked/validated by a reviewer from the AppSec team