TFS and GIT vs Perforce P4V for Source Control


Has anybody used a combination of 'TFS/GIT' and Perforce for source control that can give me high level comparison of the two or redirect to few are articles which highlight elements of difference that are relevant for developers.

Any help is welcome thanks.

Thank you.
ZackGeneral IT Goto GuyAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Ryan McCauleyEnterprise Analytics ManagerCommented:
I'm not super-familiar with the different platforms, but I think the TFS vs. Git question can be answered with "do you want centralized source control of a distributed system?" If you want a centralized source of truth, then TFS may be appropriate, where Git is a distributed system (with the implications to merging/branching that entails). This article has a good comparison of the two products:

I'm still a huge fan of centralized source control (we use TFS at our company, and I use Sourcegear Vault privately), but I'll admit that I've never had to do much with branch/merge - we generally have one developer working on code at a given time, or even when there are multiple developers, they're not stepping on each other and are coordinating who has what feature.

With a distributed system, it makes doing development in isolation (and later merging changes) much more straightforward (so I'm told - again, I've not done it). When it comes time to merge your changes, the system treats them as discrete sets of code modifications that can easily be applied both directions (changes you've made into the repository and changes others have made into your local copy), instead of treating it as a version conflict (as it does in the centralized/TFS world).

It's also worth noting that TFS is a complete ALM (Application Lifecycle Management) tool, including project management, bug tracking, collaboration, build, continuous integration, and deployment components, where something like Git just does source control. You can easily augment Git with other ALM tools like TurtleALM (and as of TFS 2013, you can actually tell TFS to use all of its ALM components on top of a Git repository, so you can combine both if that's your preferred flavor), but TFS presents a single location for all those tools, where you'll end up choosing and implementing a component for each feature if you got with other products that handle just a single aspect.

Pretty much all of my experience is with TFS and Sourcegear Fortress, both integrated ALM with central source control, though I'm trying not to be biased - there are reasons you'd choose each, and to be honest, I don't think one is better than the other beyond what the developers are familiar with. If I've missed your question, though, please let me know and provide some more detail about what you're looking for and I'm happy to clarify.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
ZackGeneral IT Goto GuyAuthor Commented:
Thank you, thats enough for me to go on.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.