Internally, you can create the /path/to/v3/ part using either a snapshot-capable filesystem with periodic snaps (in which case v3 might become a datetime string in yyyymmdd type format) or a script that creates incrementing version numbers of symlinks to the same when filesystem contents change -- using inotify() or similar.
Internally, you can create the /path/to/v3/ part using either a snapshot-capable filesystem with periodic snaps (in which case v3 might become a datetime string in yyyymmdd type format) or a script that creates incrementing version numbers of symlinks to the same when filesystem contents change -- using inotify() or similar.