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.

Reply via email to