4 ms·
If you are using Perforce as an enterprise system, $500 is peanuts. Perforce can get pricey. We used to be a Perforce shop, in my last job. However, I continu
by ChrisMarshallNY 3mo ago
If you are using Perforce as an enterprise system, $500 is peanuts. Perforce can get pricey.
We used to be a Perforce shop, in my last job.
However, I continue to be amazed that Perforce survived Git. I assume its ability to handle large binaries has been what saved it.
I seem to remember an HN posting, some time ago, about a new system, aimed at creatives, and that handles big binaries. It looked fairly good, but not sure how it’s doing.
- nylonstrung 3mo agoYou're probably thinking of Lore by Epic Games which was announced recently and seems to be well-received so far and natively supported by Unreal Engine
- ChrisMarshallNY 3mo agoYup. That’s it. I remember when one of the engines (either Unreal or Unity), shipped with Perforce included.
- flohofwoe 3mo agoThere was also PlasticSCM, which was acquired by Unity a while back. I'm hearing differing opinions about whether it's good or bad though. https://www.plasticscm.com/ https://www.plasticscm.com/ https://unity.com/features/version-control https://unity.com/features/version-control
- forrestthewoods 3mo ago> However, I continue to be amazed that Perforce survived Git. Virtually 100% of non-indie devs use Perforce. Is Perforce good? Ehhh not really. It’s been stagnant for 15 years. Is Git capable of meeting game dev needs? It’s not enough close. No Git LFS does not count. Personally I think even Git is mediocre at best. But it’s all modern devs know. So there’s been very little progress towards version control that doesn’t suck. Very sad. Hopefully Epic’s Lore is good. Low odds. But not zero! And hey at least they’re trying.
- LtWorf 3mo agoNo no. I know SVN and mercurial as well. Git is better. And normally when someone pushes a huge file it means they compiled something on their machine and are placing it on git, which is something that raises all the alarm bells for me.
- rcxdude 3mo agoExcept in game dev where you want to version control your art assets as well.
- LtWorf 3mo agoI was responding to someone who made a generic statement about git?
- Kwpolska 3mo agoPretty sure you're responding to someone talking about game development.
- dijit 3mo agoit does kind of suck though. (and he was talking about gamedev, which is not the only kind of development that deals with more than just plaintext, but its the one you can probably understand best). Git solves a problem that we immediately unsolve constantly, and so we end up with the warts of both. Its so ubiquitous though that people literally can’t even step back and realise this fact unless they are forcefully exposed to other paradigms (which they fight against the whole time). Theres a lot of psychology to be learned here, its not sunk cost fallacy, its something deeper than that. Like rewiring the brain, even for a simpler paradigm, is almost painful for people. How can you even know whats better if your brain is wired to know Git and distributed version control (yet not distributed)? It’s like imagining what it would feel like to smell electrical currents, the brain isn’t wired to know it.
- LtWorf 3mo ago
- momocowcow 3mo agoIm amazed git survived at all. Such a mess of complexity and exotic jargon to abstract away something that should be inherently simple. After 20 years I can use it with ease thanks to llms.
- superb_dev 3mo agoI genuinely think you have to be trying to not pick up git after 20 years. Have a little more faith in yourself, it's not super complicated
- Hendrikto 3mo agoThat just means you did not really try for 20 years.
- dijit 3mo agoCome now, lets be real. How many esoteric tools are needed for proper development? “save my file” should not need a phd level awareness of the save model, yet it seems to because its so easy to fall off the happy path.
- tomsmeding 3mo agoIt ought not to, indeed. However, if you want "save my file" to include awareness of other developers concurrently working on the same project -- even the same file -- with a decent way to handle conflicts, it suddenly becomes complicated. Git is probably not the optimal way of designing a UI around this, but it's not like this is an easy problem.
- dijit 3mo agoMINE | MERGED | THEIRS where you can select elements from both and have them merge into the middle. Or the p4 merge way of: MINE | THEIRS ------------- MERGED Even most GUI's for git do it this way actually. Merging should not be a major issue, it should be a trivial annoyance. It shouldn't drop you into an interactive rebase that invalidates every object after it (necessarily).
- khurs 3mo ago>I seem to remember an HN posting, some time ago... Was 31 days ago... and it's Epic backed rather than a sole indie dev so likely to mature. https://news.ycombinator.com/item?id=48571081 https://news.ycombinator.com/item?id=48571081
- jordand 3mo agoYeah there's no good alternative Version Control right now that can handle large binaries. And for Lore from Epic Games, while it's still 2-3 years away from being suitable for Game productions to replace Perforce, there's genuine interest and excitement about using/testing it (in some cases, studios are spending tens of thousands on P4 licenses they don't really want). Lore is already used at scale in UEFN across a huge user base so the core tech behind it is solid and trusted.
- sam_lowry_ 3mo agogit lfs?
- ChrisMarshallNY 3mo agoFrom what I understand (I don't use it, myself, so this is hearsay), Git LFS is unsuitable for the kinds of assets used by creative studios.
- gregschoeninger 3mo agoWe've been working for a few years on a VCS that is starting to get adopted by creative studios - called "Oxen" It's open source: https://github.com/oxen-AI/oxen https://github.com/oxen-AI/oxen Most users are building their own interface on top, but we also have a nice experience in our web ui: https://oxen.ai https://oxen.ai Would love people to try it out and give us feedback!
- Ferret7446 3mo agoFrom what I understand, it's a tooling problem and not a technical issue with Git. By default Git only supports text diffs but that is not a fundamental constraint of the architecture. Actually Git deals with binary blobs and the diffs are a UI porcelain layer. Binary diffs could be added on top with just a SMOP
- a-dub 3mo ago> If you are using Perforce as an enterprise system, $500 is peanuts. Perforce can get pricey. i think it was $600/seat back when i paid attention (20+ years ago). don't remember if it was perpetual or annual. > However, I continue to be amazed that Perforce survived Git. I assume its ability to handle large binaries has been what saved it. yeah i think it lives on in games probably mostly through inertia. last i looked the company itself had shifted away from p4 classic to some git wrapper stuff. i've never actually seen it but my understanding is that google's custom internal system (piper) basically is a reimplemented scalable p4+g4 wrapper. i always thought the workspace mapping and workspace template model in p4 was pretty elegant, especially for things like embedded platforms where you could opt in and out various subtrees which made very large device trees/bsps more manageable. also they were the first widely deployed vcs system that attempted to be efficient (server side indices for local tree state and communication with the server in deltas rather than forcing complete rescans for every operation that often involved talking to the server as each file was scanned)
- aitchnyu 3mo agoFeels like a captive audience. My tiny company paid a buggy Github competitor even in 2019 and they hiked prices like crazy. They did have a brand new project that deployed multiple projects to our own VPS with zero downtime.
- blagie 3mo ago> However, I continue to be amazed that Perforce survived Git. I assume its ability to handle large binaries has been what saved it. Curiously enough, the git data model is ideal for handling large binaries. The place it crashes-and-burns is the user space.
- sigsergv 3mo agoAlso very important feature of p4 - very flexible permissions system. You cannot achieve nothing similar with git.