Consider using cascading settings for default branch name
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=327208) </details> <!--IssueSummary end--> * Previous issue: https://gitlab.com/gitlab-org/gitlab/-/issues/293953 * Related discussion: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/57101#note_544680265 * Cascading settings documentation: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58917 With the change introduced in https://gitlab.com/gitlab-org/gitlab/-/merge_requests/57101 the inheritance logic for default branches will be: | Instance level | Root group | SubGroup 1 | SubGroup 2 | Project 1 (Result) | | ---------- | ------ | ------ | ------ | ------ | | `instance` | - | - | - | `instance` | | `instance` | `root` | - | - | `root` | | `instance` | - | `sub1` | - | `instance` | | `instance` | - | - | `sub2` | `sub2` | | `instance` | `root` | `sub1` | - | `root` | | `instance` | `root` | - | `sub2` | `sub2` | | `instance` | - | `sub1` | `sub2` | `sub2` | | `instance` | `root` | `sub1` | `sub2` | `sub2` | We select default branch setting in this order: direct group settings -> root group settings -> instance settings -> default git settings Searching for default branch settings in the chain of groups (for deeply nested projects) can have a negative effect on the performance. ### Proposal Explore and apply cascading settings for default branches: https://gitlab.com/gitlab-org/gitlab/-/issues/291082 (suggested here - https://gitlab.com/gitlab-org/gitlab/-/merge_requests/57101#note_544680265)
issue