Why Did Google Choose a Central Repository?
There are two main repository options for version control — distributed and centralized. Here, we cover the merits of a centralized repository. More on distributed version control >>
What Is a Central Repository?
A central repository stores everything in one place. In a centralized model, you work on the code while connected to the server itself. This maintains a single source of truth.
Benefits of Centralized Repositories
Centralized repositories have also been around a long time. In a centralized model, you work on the code while connected to the server itself. This maintains a single source of truth. The centralized model has been incredibly successful for version control. This is especially true as teams and projects grow and get more complex.
Google Repository: Famously Centralized
Google has been using a centralized repository and version control system for nearly two decades. They built their culture of collaboration around it. Their repository model has affected the development and evolution of many parts of their business, including:
- Collaborative environment
- Trunk-based development
Google is known for developing their own tools in house. When they decided to create their own proprietary repository, they used the centralized model. Why? Are their reasons relevant to businesses a fraction of Google’s size?
There are several advantages and disadvantages to the centralized model, regardless of size.
Benefits of the Central Repository
- Atomic changes
- Global collaboration
- Single source of truth
- Code visibility and clear tree structure
- Code sharing and reuse
- Dependency management
- Flexible team boundaries and code ownership
Drawbacks of the Central Repository
- Investment in tools for development and execution
- Codebase complexity and dependencies
- Maintenance to ensure code health
Who Benefits the Most From Centralized Repositories?
Central repositories may be well-suited to companies, like Google, with a collaborative culture. But other business models can benefit as well. Regardless of the size of your team or business, using a centralized repository can provide visibility and a single source of truth.
With the trend toward more collaborative and open work environments, perhaps it’s time to give the centralized repository a closer look. After all, who doesn’t want to be the next Google?
For Teams Without Google’s Budget…
Google invested in proprietary tools to manage and work with their repository. The amount of money they’re able to invest in their tools is out of reach for small and mid-size companies. But that doesn’t mean the solutions are also out of reach.
Helix Core – the version control system from Perforce – comes with several tools that can reduce or mitigate this cost, including:
- Native code review
- Advanced visualization tools
- Integrations with popular DevOps tools
- Fine-grained access control
Learn more about Helix Core.