Hacker News new | ask | show | jobs
by slondr 1374 days ago
Mercurial has the obvious correct answer to this problem: Store diffs with snapshot checkpoints. That is, store diffs, but once you reach a critical number of diffs, store a snapshot instead of a diff so you can efficiently compute any specific commit state without storing snapshots for every commit.
2 comments

> Mercurial has the obvious correct answer to this problem: Store diffs with snapshot checkpoints.

That's how the git backend works for most of its storage.

It's a fool's errand to look at the conceptual model and start making claims about performance.

Ah, so CVS is like GIF, git is like MPEG without keyframes, and Mercurial is like MPEG with keyframes.
Quite an apt metaphor :)

Now where are the hevc and av1 of versionning system ?