4a. pointers to parent code trees (especially with tree merges)
5. history traversals (bisecting, among the others)
Not to mention that you need either administrative privileges for creating
a snapshot or a special kind of filesystem that supports this for
non-administrator. And sysadmin still needs to prepare such a filesystem for
your $HOME.
What are you talking about? amelius is mentioning an alternative to the hacky "git undo", not an alternative to git. You put your git repo onto the filesystem.
As far as administration, most devs will have elevated rights or can use FUSE or something. We could talk about needing administrative privileges to install git, too, but it's pretty far removed from the central topic.
> amelius is mentioning an alternative to the hacky "git undo", not an alternative to git.
Ah, so I misunderstood. Still, changing the filesystem under $HOME (or whatever is the working directory) is more difficult than using some user-level tool.