Even though the git model stores snapshots, internally it optimizes the storage to a degree which makes it take up storage space equal to that if only the diffs were stored. If you're curious, read more about how it works here: http://stackoverflow.com/questions/5176225/are-gits-pack-files-deltas-rather-than-snapshots
As far as I know, all SCM's, including Hg/Mercurial, have problems or limitations when it comes to storing diffs on binary files. Mercurial ships with an extensions that works around this by storing large files outside the repository: http://mercurial.selenic.com/wiki/LargefilesExtension Some further googling found a similar approach for Git: http://git-annex.branchable.com/ -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To view this discussion on the web visit https://groups.google.com/d/msg/git-users/-/EFEVZMe_QIAJ. To post to this group, send email to email@example.com. To unsubscribe from this group, send email to git-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/git-users?hl=en.