News for hackers. Stuff that matters.
Re:Is Git Irreplaceable? (2019) by jayd16 on Monday January 06, 2020 @11:41PM (#21976907)
>I don't see any obvious flaws with Git.

Large files and long histories hinder its total dominance in the game and art industries. Because of git's shortcomings polyrepo is a near necessity not simply a stylistic choice. LFS is a bolt on solution that could/should have better support.

Re:Is Git Irreplaceable? (2019) by phodge on Tuesday January 07, 2020 @12:02AM (#21977024)
> Because of git's shortcomings polyrepo is a near necessity

I'm intrigued by this claim. I've come to the opposite conclusion - that monorepo is near necessity with git because there's no tools for branching/rebasing multiple repos at once.

Re:Is Git Irreplaceable? (2019) by thayne on Tuesday January 07, 2020 @12:17AM (#21977113)
After using both I can say both have problems. Polyrepos lack tools for working with multiple repos simultaneously, and require more attention to versioning. Monorepos have longer histories, and the large number of objects can hurt performance.

Which one you should use depends on which downsides are less impactful for your use case.

Re:Is Git Irreplaceable? (2019) by bb88 on Tuesday January 07, 2020 @12:11AM (#21977085)
I think he's talking about large files there, which is an issue in GIT btw.

I would use it for storing and syncing libraries of large images for my photography, if it were feasible.

Re:Is Git Irreplaceable? (2019) by hinkley on Tuesday January 07, 2020 @02:01AM (#21977665)
Git stores the diffs in chronological order doesn’t it? I recall reading about someone doing a commercial implementation where the commits are stored in reverse chronological order. I’d been thinking that was github but I’ve never been able to find the article again.
Re:Is Git Irreplaceable? (2019) by cesarb on Tuesday January 07, 2020 @05:45AM (#21978769)
Git's model (which it copied from monotone IIRC) is not diff-based, it's snapshot-based. That is, commits are not stored as a diff to the previous commit, but as the whole state of the tree plus a pointer to the previous commit(s).

As an optimization, when it packs several objects together in a pack file, it can store objects as a delta to other (possibly unrelated) objects; there's a whole set of heuristics used to choose which objects to delta against, like having the same file name. And yes, one of these heuristics does have an effect similar to "reverse chronological order"; see https://github.com/git/git/blob/master/Documentation/technic... for the details.

Re:Is Git Irreplaceable? (2019) by fjfaase on Tuesday January 07, 2020 @02:21AM (#21977775)
Git does not store differences between files, but packs (versions of) files (to save disk space) in single .pack files.
Re:Is Git Irreplaceable? (2019) by Already__Taken on Tuesday January 07, 2020 @06:48AM (#21979082)
> LFS is a bolt on solution that could/should have better support.

Like gitlabs own web ide that seems to ignore LFS rules.