2 ms·
Well, I can just report my experience with a git repo w/ a bunch of binary files in it. It got really really slow to clone (like multiple days -- we gave up on
by dilap 6y ago
Well, I can just report my experience with a git repo w/ a bunch of binary files in it.
It got really really slow to clone (like multiple days -- we gave up on cloning and just copied the checked-out folder around); git lfs fixed this. I should note most of the binary assets had no changes and were not deleted; it seemed to be something inherent in git's handling of the binaries that made it slow, not just downloading the data. (I.e., I don't believe most of the wins in git-lfs were simply in doing a "shallow clone" as it were.)
So as I see it the situation is as follows:
- Even for a full clone, git becomes inefficient with a lot of large binaries
- For doing a partial clone, things like git-lfs work, but are clunky because git-lfs is not natively integrated with git
- The partial clone abilities of git-lfs are strictly "time-based" -- you go to a particular checkout, and then it goes off and downloads the files. There's no way to say, "I have a big monorepo with a bunch of binaries, but I'm only interested in some subset w/o the binaries."
So these are all areas where I think git can be improved on.
- IshKebab 6y agoThat sounds like a bug to be honest. If the files never changed then you'll only have one copy of them and Git really shouldn't have to do any extra work to deal with them.
- dilap 6y agoCertainly possible. & of course git is always improving. But still, I do think ability to do path-based partial checkouts and have something like git-lfs integrated natively remain compelling potential features.