3 ms·
This question is actually really complicated to answer. The short answer is that we run perforce. The long answer is that we run perforce with a bunch of cachi
by zaphar 13y ago
This question is actually really complicated to answer. The short answer is that we run perforce.
The long answer is that we run perforce with a bunch of caching servers and custom stuff in front of it and some special client wrappers. In fact there is more than one client wrapper. One of them uses git to manage a local thin client of the relevant section of the repo and sends the changes to perforce. This is the one I typically use since I get the nice tooling of git for my daily coding and then I can package all the changes up into a single perforce change later.
Google has invested a lot of infrastructure into code management and tooling to make one repo work. We've reaped a number of benefits as a result.
As others have mentioned though there are trade offs. We made the tradeoff that best suited our needs.
- sandGorgon 13y agoInteresting, has Google made the client parts open source? It would be great if someone used that to write a high performance git server. Could they?
- thrownaway2424 13y agoThere is no such thing as a high performance git anything. People at Google who use git (I used to be one of them) suffer from far worse performance than the people who just use perforce as such. In particular, the cost of a git gc, which invariably occurs right when you're on the verge of an epic hack, or fighting a gigantic outage, is unreasonable and perforce has no analogous periodic process.
- mataway 13y agoa wild Perforce shill appears We actually have an open source tool that allows you carve off parts of your Perforce server as Git repos. The repos can overlap in Perforce allowing you to share code seamlessly between different Git repos. You can generate new repos from existing code easily and can even generate shallow git repos that are usage for development. Details are at: http://www.perforce.com/product/components/git-fusion http://www.perforce.com/product/components/git-fusion I'm happy to answer questions here or on Twitter: @p4mataway