I don't know, I sort of enjoy being able to make changes, see they didn't work/not necessary/etc, and then just closing the document hitting "Don't save" vs hitting undo until returning to last saved state (which was when exactly???). Bonus points for apps that have an actual Revert feature.
Maybe file management will map closer to revision control one day. Autosave would be the equivalent of a regular commit, closing the document would be a tagged commit of some sort. Your "hitting undo until returning to last saved state" would then be a single step, reverting to a timed, possibly named point.
For text based files, I think a versioning like system built into the filesystem would be ideal. Each save is just the diff. A nice UI to see/revert changes. Yet the lack of commit type messages would make those changes less friendly. I don't want to be burdened/slowed down with commit messages everytime I hit Cmd-S.
However, this would not work for binary type files like MOV, PSD, etc.
Storing diffs is not a great idea since then it requires that you apply them all to get the latest version. Notably, git does not store files as diffs [1] which is one of the reasons it’s so much faster than older diff-based VCSes.