Games, especially AAA games, have 10s or 100s of terabytes of source assets. Git was never designed to handle this. git-lfs is a hack to try to help here but it's bolting on a workaround for a system that was never designed for managing art assets. No amount of UX is going to fix that.
Firstly, I’d already mentioned perforce.
But secondly , and this is my fault for not going into detail, I never said it was a game. There’s tons of software engineering categories with 3D art that are software heavy , so git wins out due to the ratio of engineers to artists.
Third, git with lfs configured from the get go isn’t that much worse than perforce with the exception of shallow and partial checkouts still being a pain. Otherwise perforce brings its own pains and UX hurdles. Streams and reviews for example are really rough to work with compared to git.
Lastly there’s just so much infrastructure around git. From hosting to CI/CD. Having multiple VCS is painful
git-lfs only solves storage. It doesn't solve the 50 other things that are special about art assets.
Lastly there’s just so much infrastructure around git.
All that infra has nothing to do with art assets though. Again, looking at art as nail because all you have is a hammer (git)
It’s easy to say “you should use XYZ” in a vacuum but there are often always tons of other reasons to pick a solution.
Thanks for your thoughts, but they assume I’m not well versed in the domain enough to make the correct decisions for my teams.
It’s also besides the original point that git has a very poor UX. Like yeah there may be things with better UX, but that doesn’t lessen the original criticism nor does it mean one should switch just because of it.
Ouch. Just use TortoiseSVN (+ svn)? I've had good success with it with business users.
But DVCS is just a bit of complex system to get. "Good UI" in this case is just finding enough common use cases and making them easy that the average mortal won't have to think what commands they type actually do. Case in point:
> Edit: also I know invariably someone will say to make my own Ui instead of complaining. I’ve tried. I’ve done some novel things but it’s really hard to do from a top down level without also rethinking some of the base interaction model. That’s a battle I think needs a lot of effort across the stack first.
as did many other. DVCS is a distributed system(doh) and those generally make reasoning hard for ones not used to thinking that way.
Aside from that I think git would benefit greatly if it had --explain command that would try to explain in human terms what the command you're trying to run actually does
It’s also a UX nightmare. I work with tons of artists and engineers from the games and film industry.
Teaching git to an artist is painful. UIs work, till they invariably fall apart and then they’re confused again in the command line. Also most UIs can’t abstract the ideas to a good easy system.
Even a ton of very experienced engineers fall over when you touch rebasing etc…
Now people will say use Perforce. Well that has its own issues around branching/streaming and integration for code etc… plus you’re tied to their systems, and I’m not convinced their UX is great either, just better.
Plastic SCM seems to be the best so far but I haven’t really put it through the paces much.
Anyway I guess my point is: git is a fantastic technology marred with bad UX. It’s much like GIMP or Blender back in the day that had terrible UX as well, but have since improved greatly.
I’d love to see a rethink of the git UX at the UI level, that can guide even the most novice programmer through everything easily.
Edit: also I know invariably someone will say to make my own Ui instead of complaining. I’ve tried. I’ve done some novel things but it’s really hard to do from a top down level without also rethinking some of the base interaction model. That’s a battle I think needs a lot of effort across the stack first.