5 ms·
Git is solving a very complicated problem with a command line tool. Don't confuse a complicated problem with a mediocre application.
by MetaWhirledPeas 3y ago
Git is solving a very complicated problem with a command line tool. Don't confuse a complicated problem with a mediocre application.
- forrestthewoods 3y agoGit is a mediocre CLI, imho, ymmv. GitHub I don’t have a strong opinion on.
- nequo 3y agoBut Git is not only the porcelain, it’s also the plumbing. Do you think that the plumbing is super mediocre too?
- forrestthewoods 3y agoI don’t know what that analogy is supposed to mean. I don’t think analogies are necessary or appropriate here.
- nequo 3y agoThis is the terminology that Git uses. Porcelain is the UI, whether it’s the basic CLI, Magit, Fugitive, or anything else. Plumbing is Git under the UI. Are you saying that the CLI is bad, or that Git’s underlying concepts and data model are bad?
- forrestthewoods 3y agoGit’s CLI API is definitely bad. I think the plumbing is probably in-between poor and bad for most projects. It’s maybe great for Linux. However almost all projects are effectively centralized so the D in DVCS is a waste. (Offline/local support and fully distributed are different). I think source control should make it impossible for 99% of users to shoot themselves in the foot. And Git is still terrible at large binary assets, even with Git-LFS. I use Git + GitHub for my personal projects. It’s mediocre but tolerable. Git is insufficient and not used for every professional project I have ever worked on. YMMV.
- nequo 3y agoYeah, that makes sense. The CLI is definitely confusing. Every now and then you have draw on a book of spells to use it. I find it more comfortable with Magit but not sure if that makes up for all of the problems with the CLI. What VCS would you use if it was all up to you?
- forrestthewoods 3y ago> What VCS would you use if it was all up to you? Almost 100% of game devs use Perforce. Git is a non-option. BigTech all use highly custom source control systems. They have some nice properties. My stance isn’t that we should use something other than Git per se. It’s that Git is a local maxima, and it kinda sucks. And I think the industry would be healthier if people agreed Git sucks. Features I care about: * Terabyte scale sparse checkouts * Ten terabyte scale full checkout * Petabyte scale history * Lossless history. * Automatic cloud/remote backups of every commit * Trivial for low-tech people to use (Perforce achieves this) * Cross-branch file locking for non-mergeable assets Things I don’t care about: * Distributed. Defacto centralized with forking is all I need. * Rewriting history. Linux needs it, I don’t. There are of course lots of things I do like about Git. It’d be good if Git and Perforce had some competition. There’s a market opportunity for it imho.