Git Core Improvements and Contributions
GitLab without gitolite

GitLab without gitolite

2/12/2013 · GitLab

What this post added

This post details the decision to replace Gitolite with a custom solution called GitLab Shell. The primary motivations were to address synchronization issues between GitLab and Gitolite, performance degradation with a large number of repositories, increased setup complexity due to multiple system users, and limitations in Gitolite's ability to create repositories and keys simultaneously. GitLab Shell simplifies the architecture by consolidating users to a single 'git' user, reducing code complexity, and improving performance (e.g., 10x decrease in project creation time on gitlab.com). It also enhances stability by querying GitLab for permissions rather than relying on a separate Access Control List.

Read the original post ↗