News for hackers. Stuff that matters.
Re:Moxie: Incremental Declarative UI in Rust by mook on Monday December 02, 2019 @03:11PM (#21686337)
> There is a big upset coming in the UX world as we converge toward a generalized implementation of the "diff & patch" pattern which underlies Git, React, compiler optimization, scene rendering, and query optimization.

I thought git (as opposed to, say, RCS) did _not_ do the diff thing, and each object is just the full thing, relying on gzip to do the compression?

Re:Moxie: Incremental Declarative UI in Rust by pgt on Monday December 02, 2019 @05:29PM (#21687771)
Merging requires diffing, and hashing enables efficient diffing. It's a reconciliation process just like checking balances in accounting, and you could think of version control as accounting for code.
Re:Moxie: Incremental Declarative UI in Rust by gmueckl on Monday December 02, 2019 @03:16PM (#21686393)
No, git actually stores diffs when its reasonable to do so. You can check the files for the objects in the repository yourself. Git can compress these files into packs, but that's a separate step on top.
Re:Moxie: Incremental Declarative UI in Rust by outworlder on Monday December 02, 2019 @06:58PM (#21688457)
> No, git actually stores diffs when its reasonable to do so.

No it doesn't. It does delta compression – which ultimately accomplishes the same goal – but this is not what people mean when they say that a version control system stores diffs (like SVN does).

https://gist.github.com/matthewmccullough/2695758

https://git-scm.com/book/en/v2/Git-Internals-Packfiles