February 19, 2014

Git and P4: No Choice Required

Git at Scale

Part 1 of 2

We see plenty of debate on the use of Git versus Perforce for version management across the web. People debate the workflows each enables, the value of one large repo versus 100s of smaller ones, and of course, performance.

We find it interesting that people are surprised that Git doesn’t demolish Perforce in performance tests. We built the Perforce versioning engine for speed and scale. Check out “Perforce and Git: A Synthetic Benchmark” for a recent example. 

But we believe you don’t have to make a choice between Git and Perforce.

Perforce has introduced groundbreaking capabilities for Git-based development. Whether you use Git or P4 to version your files, the choice is yours. You should be able to use either seamlessly, on the same body of code—without any changes to your workflow or environment. You can use Git against a Perforce server backend with your eyes closed. You wouldn’t know the difference.

Some of these capabilities often draw a surprise when we demo them to customers. “Wow! Perforce can actually do that?” is often the response we get, purely because of perception and perhaps poor marketing on our part.

This type of seamless support for Git is particularly useful if you are embarking on a Continuous Delivery methodology. Your release managers and DevOps teams will be able to gain some additional hours in their lives, and will probably take you out for lunch in return. Git or P4 is just a preference for the user and workflow that you wish to adopt!

If you are an existing Git user who is new to P4 concepts, check out this primer for Git users venturing into the P4 land on Stack Overflow: An intro to Perforce for Git users.

If you are a Git user and wish to collaborate with your peers using P4 on a common codebase, you have the option to be oblivious to P4’s existence. Extend your P4 server deployment with Perforce Git Fusion, and voilà, you can use Git away to glory, with Perforce serving your Git repos—zero changes necessary on your desktop.

Next: Git and Perforce: 13 FAQs Answered