Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why are there so few versioning file systems? [closed]

People also ask

How many file systems exist?

File Systems 101 Different file systems are simply different ways of organizing and storing files on a hard drive, flash drive, or any other storage device. Each storage device has one or more partitions, and each partition is “formatted” with a file system.

What is the most modern file system?

NTFS. NTFS (New Technology File System) was introduced in 1993 with Windows NT and is currently the most common file system for end user computers based on Windows.

What are the two things modern file systems do?

Modern file systems provide mechanisms to control users' access and capabilities concerning files. The data regarding user permissions and file ownership is stored in a data structure called Access-Control List (ACL) on Windows or Access-Control Entries (ACE) on Unix-like operating systems (Linux and Mac OS).

What is the purpose of file versioning?

File versioning is a process that saves your work as multiple versions throughout the editing process. These versions are saved in different locations to make sure they're never lost. File versioning is a process that saves your work as multiple versions throughout the editing process.


Can't give you the ultimate answer, but consider these 2 points:

  1. The feature is of little use to the mainstream user (98% of all users?), so why implementing it, if nobody uses it.
  2. Storage space was expensive in the past, so why wasting it on a feature that almost nobody will use?

If I have things that require versioning, there are plenty of ways to do it (local git repository, networked version control systems, etc.). I suppose the worry has been that if you create a new version EVERY time a file is changed, sooner or later your disk is just filled with diffs that you may or may not need (temp/swap files, etc.). Snapshots like time machine are sort of a middle ground - they let you go back, but don't spend a lot of space backing up (arguably) needless "churn".


Versioning tends to not be useful in the majority of cases where disk writes are involved. Lots of changes happen that are meant to be one-way, and no one ever cares what the previous version was.

Plus, its hard. Implementing a file system to handle versioning is inherently more difficult than making a file system that doesn't. There is just no real incentive to create a file system that does this. The new systems (zfs, ntfs, btrfs) can do this because there is a new state of competition based on features, so they are all attempting to cram as many features as possible into their FS designs.

Most people are happy to use a VCS on the files they actually care about, not wasting space on FS versioning.


According to Darwin, evolutionary features which are not actually used tend to become de-selected. If there were a real and widespread need for this, major operating systems would include it as a default.

I used VMS a few years before the PC made its appearance. I had dozens of copies of everything I did, like it or not. I had no idea what most of them were, and didn't care. They quickly became clutter. Apparently Versioning File systems are another of those "It Seemed Like a Good Idea At The Time" things...