Once git arrived, they didn't have the same place in the world and now its... a very different company.
Its called a "sparse checkout".
> THIS COMMAND IS EXPERIMENTAL. ITS BEHAVIOR, AND THE BEHAVIOR OF OTHER COMMANDS IN THE PRESENCE OF SPARSE-CHECKOUTS, WILL LIKELY CHANGE IN THE FUTURE.
Perforce is also ripping fast for updating/status checking, (run git status on the Unreal Engine repo to see the difference), is centralized (a feature, not a bug), has full support for partial and shallow checkouts. It also offers support for _running_ perforce, not just their hosted offering.
> and the reason why giants such as Ubisoft have committed to it
The reason companies like Ubisoft, Epic, etc use it is because it predates git.
> is that "it handles large files better". That's it.
Lets' not pretend that "better" is a good comparison. Until 5-6 years ago, git didn't handle large binary files at all. Even now, it's a "pick your poison".
Oh, and cloning a repo so you have a second copy of it for an experiment took ages because you couldn't just 'cp -a' the directory, you had to "enlist" in all the files with the server... I do not recall p4 fondly.
Checking out is still a fundamental concept of perforce, and it's the reason it's so fast. Not all files need exclusive locks, that's usually reserved for binary assets (and is a selling point of perforce as it prevents an unsolvable merge conflict later on). When I started using perforce 13 years ago, every editor I used had either a perforce plugin, or an option to "checkout on edit or save",
> Oh, and cloning a repo so you have a second copy of it for an experiment took ages because you couldn't just 'cp -a' the directory, you had to "enlist" in all the files with the server...
I don't really see the problem. doing `cp -a` on a large git repo can be an extra 30GB if not more on disk. The tradeoff of a very uncommon operation (duplicating a repo for an experiment sounds like a great use for shelves in p4, or branches in git) taking longer for performance on the golden path seems like a really good one to me.