If you want a filesystem that can support snapshots, my preference would be ZFS. I'm not sure if ZFS can also do versioning outside of snapshots.
The recent macOS file systems can do versioning, and Time Machine is how you would access earlier versions. But they can't do snapshots, so far as I know.
But snapshots are less critical for building a backup system -- you can live without those, although it can be painful. Versioning would be a bigger win for desktop users.