On 02.11.19 16:20, Konstantin Khomoutov wrote: > how does it become > superior to a VCS by storing snapshots rather than deltas?
Deltas based on what? As soon as there are merge operations, you either run into ambiguities or the code is forced to prefer one branch over the other. Branches and branch selection and whatnot thus become first-class citizens in that VCS. You don't want that to happen because branches are incidental and don't matter to the user: the state of your repository is not affected by whether you merged A into B or vice versa. Also, one of git's basic tenets is that every file (and directory and commit and …) is identified by the hash of its contents. Thus you can immediately detect if two files (or directories or …) are the same: their hash is identical. This in turn allows you to quickly identify common sub-trees between *any* two commits immediately, without requiring examination of subtrees. Contrast with delta storage where you always need to re-assemble the whole tree as soon as the situation becomes non-trivial. In a complex repository like the Linux kernel, with its thicket of multiple merges, trivial situations are the exception rather than the rule. -- -- Matthias Urlichs -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/git-users/5f1df930-a91e-329b-6cfd-d3d82866d9c7%40urlichs.de.
