I can not understand: patch sets can re-create what any file looked like at any point in time.
In the git-scm.com
One of the most popular VCS tools was a system called RCS, which is still distributed with many computers today. RCS works by keeping patch sets (that is, the differences between files) in a special format on disk; it can then re-create what any file looked like at any point in time by adding up all the patches.
A trivial example to clear it up :
History :
1) I create file myfile.txt
2) I paste in "This is some sentence."
3) I delete the word "is".
4) I add a line with "This file is a mess."
Not hard to figure what state myfile.txt was in after step 3, although it was never explicitly given. All you have here is an initial state and the history of changes. Not like in git, where you have a succession of snapshots.
In git commits would look like (very loosely described, for the sake of simplicity)
1) myfile.txt
""
2) myfile.txt
"This is some sentence."
3) myfile.txt
"This some sentence."
4) myfile.txt
"This some sentence.
This file is a mess."
In the first paradigm (RCS), you already have changesets, but have to recreate snapshots. In the other (git), you already have snapshots but have to recreate changesets.