@leeloo yeah merges are commits with multiple parents!

pack files are a storage optimization for storing objects (commits, trees, blobs). I left it out because it’s really an implementation detail /optimization IMO

and like you said diffs aren’t stored in .git, they’re computed on the fly