Improve location/organization of repository maintenance actions/settings
Release notes
Problem to solve
Follow-up from the discussion in #357680 (comment 956842783).
Today the actions/settings to maintain and cleanup the repository are scattered, which can lead to user confusion and lack of discoverability. An example of this is Docs feedback: Add housekeeping to the measures... (#217453 - closed), where a user wasn't aware that the Housekeeping action in Settings > General would reduce the repository size, even when looking at the docs.
There's an opportunity to consolidate these settings. The current state:
- The housekeeping docs say that it only performs housekeeping tasks on the Git repository, nothing else. Therefore, it's odd that housekeeping is located in the General project settings.
- On that page, it also says that instance-level settings for repository housekeeping are located in Admin > Settings > Repository > Repository maintenance. This is different from the project-level settings.
- Finally, there's the Repository > Repository cleanup section in the project settings to run
git filter-repo
. - We recently added a new “Recalculate repository size” in Settings > Usage Quotas, which doesn't help reduce the repository size but simply updates the calculated size. Still, this action is tightly related to maintaining/cleaning up the repository.
Proposal
- Rename "Settings > Repository > Repository cleanup" to
Settings > Repository > Repository maintenance
- This aligns the location to be similar to the Admin area.
- Decision informed by design decisions made in https://gitlab.com/gitlab-org/gitlab/-/issues/450701+
- Move "Housekeeping" and "Pruning unreachable objects" to "Repository maintenance"
- Add information in "Settings > General" to say those settings have moved
- Update documentation to reflect the consolidation of the settings
-https://docs.gitlab.com/ee/user/project/repository/reducing_the_repo_size_using_git.html
- Manual trigger section inhttps://docs.gitlab.com/ee/administration/housekeeping.html
To address navigating to this area from other areas like "Usage quotas", it could be linked with a button saying something like "Manage repository storage" or "Maintain repository storage" (UI text to be determined). Examples of how this could look in alerts could be:
Project overview | Usage quota |
---|---|