| I guess I should have expanded more. DVCS is in direct opposition of workflows that include binary files(yes I'm aware that git lfs has locking, it's also centrally orchestrated) because you can't merge almost every binary format. We were using P4 ~15 years ago for these workflows and rather than understanding what made them work people are just rediscovering the same problems that have already been solved. My guess is that we'll next see a solution that dynamically caches most downloaded files in a geographic friendly way, heck we may even call it "P4Proxy". I've seen so much FUD around how git is the "one true workflow" because other solutions "don't scale" when they don't understand the constraints that certain workflows impose. Git/DVCS is great for a lot of things but sometimes you should use the right tool for the job rather than hack something together. [Edit]
These reasons are exactly why you see Unreal supporting P4/SVN out of the box[1] and no mention of git. [1] https://docs.unrealengine.com/en-US/Engine/UI/SourceControl/... |
Locking helps with preventing collisions, but honestly the issue is still always communication. Why are people even touching files they shouldn't be touching?
Meanwhile perforce is a pain for code heavy projects and requiring a central perforce server. Git works great there.
The issue is neither is a silver bullet for the others workflow and needs, and they both suck horribly for mixed code and binary asset workflows.
That's not even considering cost.
Meanwhile film studios generally prefer keeping the considerations separate and using symlinks or URI to their data store and that works really well. But that doesn't work great for remote workflows.
So again, I think you're applying a very p4, game centric view to this. There are lots of different use cases and team structures that none of these version control systems are able to address in their entirety.