I read a blog post this week in ReadWrite about how Git is giving Subversion a run for its money. The author states, “It has taken a long time for Git to push Subversion aside, despite clearly being better for developers.” My question is this…why does Git need to push Subversion aside and declare to be better? Comparing Git and Subversion is like comparing apples and oranges. Yes, they are both in the fruit family, but one is not better than the other.
Git and Subversion are both version control systems (VCS) which allow developers to manage changes to documents, computer programs, large web sites and other collections of information. Git is a distributed version control system (DVCS) and Subversion is a centralized version control system. One is not better than the other; they just solve version control problems differently.
Developers love Git, the popular one
Git is growing in popularity and the statistics prove it. In the ReadWrite blog post I mentioned above, there is a graph from RedMonk that clearly shows a trend away from centralized version control systems (Subversion) and toward distributed version control systems (Git).
The main reason for Git’s increasing popularity is that it was built with an emphasis on developer speed, which makes it a great tool for developer groups adopting Agile methodology. Developers love Git, and distributed version control systems in general, because they allow developers to work in a distributed manner. It allows them complete control over their own repository to make the changes they need until they are ready to share them with the rest of the team. And as a result, one of the benefits of DVCS systems is that they are faster than centralized version control systems.
Git’s rise in popularity is also fueled by the fact that many projects require Git, such as Linux Kernel development and Android app development.
Corporate officers are NOT feeling the Git love
Corporate officers don’t always share the love of Git, and as a result, enterprises typically are more reluctant to embrace it. This reluctance stems from the fear of not being able to guarantee the security and audit compliance their organization requires. Many questions need to be answered in order to obtain C-Level buy-in of Git. These questions may include:
- Will my IP be secure?
- Does Git meet our audit compliance, governance and security requirements?
- Can we integrate ALM tools?
- Will all of our developers be comfortable working with a DVCS model?
- Where do we get 24/7 support and SLA’s?
- How do we integrate both Git and Subversion projects?
Git + Subversion = Love in the Enterprise
So within the enterprise, a happy medium emerges…Git and Subversion together. Hybrid source code management (SCM) is the new reality. A January 2013 UBM Tech survey of 248 development and business technology professionals at companies with 100 or more employees who use SCM tools, shows that Subversion, Microsoft TFS/VSS and Git are the three most used SCM tools overall, and most enterprises use two or more SCM tools. When the data is cross-referenced, it shows the majority of Git shops (36%) also use Subversion in their hybrid approach.
CollabNet Embraces both Git and Subversion
As a result of the growing need for enterprises to manage Git and Subversion together, CollabNet embraces both Git and Subversion. Our TeamForge solution provides the components needed to drive cloud-based collaborative software development and deployment – while allowing developers to use the tools they love and providing stakeholders with centralized traceability, common code governance, security and workflows.
CollabNet is Here for You
Whether you are integrating Git with Subversion, migrating from Subversion to Git, or solely using Git, we have software development experts here to help. CollabNet offers Training and Support for Git, as well as migration services. There are also technical briefs, webinars and many other resources at your fingertips. Visit http://www.collab.net/products/teamforge/git-for-the-enterprise.