Lack of case-insensitive branch validations causes problems for clients with case-insensitive file systems
<!--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=14280)
</details>
<!--IssueSummary end-->
Zendesk issue: https://gitlab.zendesk.com/agent/tickets/16192
## Observed behavior
Case-insensitive file systems (Mac) have trouble when branches or tags contain the same or similar names in the GitLab server.
To reproduce this, check out a repo in two different directories. Create a branch such as 'branchA' and push it from one location. Create another branch such as 'BranchA' in the second location and push. Both are able to be pushed successfully. Fetch the remote in one of the cloned locations. Run `git branch -r` and note that only one branch appears.
## Expected behavior
GitLab should not allow creating the same branch/tag with different case. Assuming all clients are on a case-insensitive system.
Can we prevent this from happening? Is there a better way to deal with it?
cc/ @rdavila @rspeicher
issue