Perforce has just added the ability to fully integrate with Git in a new product feature called “Git Fusion.” This is huge because it brings together two potentially opposing cultures: open source & enterprise. This move may allow perforce to gain traction with a whole new set of engineers. Is it the first step in a longer journey toward making a full fledged appeal to the open source community?
Git is well known throughout the open source community as revision control system that powers GitHub. It has become a key component of the new-age resume for developers. Perforce is the revision control system preferred throughout the enterprise community of proprietary solutions. It geared toward a more complex code base that you would find in a single git repository. “Git Fusion” makes it possible for git repositories to be managed through perforce.
Git Fusion works by emulating a git repository at the ssh level. In order to configure a git repository to work with Perforce, you would actually add perforce to the git repo as a remote. Git will then communicate with the perforce remote via ssh as if is was an instance of git. The Perforce team emphasized that there is no loss of functionality for either the Perforce or Git user. To take one specific example, it is possible to configure a mapping between git committers and perforce users. If this mapping is in place, then the committer on a git commit would be the user on the corresponding perforce changelist.
During my chat with Perforce’s Randall DeFauw & Bob Dever I learned a few interesting points that surprised me about perforce. First, that there is a free licensing option aimed toward start up companies. Teams of up to 20 users can license Perforce at no cost. Second, open source projects can use perforce for free as well. It seems that perforce still has work to do in figuring out how to engage git users culturally, but this is certainly a powerful technical step forward.