7 ms·
For (1) there's stuff like BTRFS snapshots, or you could use Git on top of the FS
by Bene592 2y ago
For (1) there's stuff like BTRFS snapshots, or you could use Git on top of the FS
- skissane 2y ago> For (1) there's stuff like BTRFS snapshots, From what I understand, BTRFS snapshots are time-based. Whereas, in classic versioned file systems, a "snapshot" is triggered by open/close operations – each time you open a file for writing, that creates a new snapshot. > or you could use Git on top of the FS Git requires your application to have explicit support for working with Git repos, it isn't seamless. And I know some people have built FUSE-on-Git implementations (there are a few around), but (I believe) they've all got various limitations and I don't believe (I could be wrong) that any of them is quite the same experience as a true versioned filesystem
- rini17 2y agoSince mmap I/O is popular, together with long lived processes like databases, snapshot on open/close might not help you much. With these caveats, using FUSE it should be easy to do, wonder why noone actually implemented it.
- skissane 2y ago> Since mmap I/O is popular, together with long lived processes like databases, snapshot on open/close might not help you much. Classic versioned file systems were generally not designed for the use case of databases, they were designed for the use case of lots of small text files (config files, source code, shell scripts, etc). For something like a database file you would turn versioning off