3 ms·
I don't think that link contradicts Joel. Git represents repositories as a network of diffs, not a linear history of versions.
by weavejester 17y ago
I don't think that link contradicts Joel. Git represents repositories as a network of diffs, not a linear history of versions.
- praptak 17y agoThis is not true for git's object model (which I believe maps to Joel's "user model".) Quote The Git Book: "Subversion, CVS, Perforce, Mercurial and the like all use Delta Storage systems - they store the differences between one commit and the next. Git does not do this - it stores a snapshot of what all the files in your project look like in this tree structure each time you commit. This is a very important concept to understand when using Git." Source:http://book.git-scm.com/1_the_git_object_model.html http://book.git-scm.com/1_the_git_object_model.html However the diffs are there below the snapshot-based model as means of effectively storing and transmitting the snapshots.
- nas 17y agoConceptually git thinks about snapshots of trees. The pack format uses deltas but that's a mostly hidden detail. The pack format didn't exist for the first months of git's existence. I haven't bothered to read the blog post (Joel strikes me as someone with a huge ego and without any exceptional insights), but doesn't the above fact mostly refute his thesis? I like git and hg but they are just tools. You could do the same development model with patches.