My experience is with the VAX and VMS. It had versioned files.
Back in the day, it was not uncommon for some programs, like editors, to create a backup copy of the file you were working on. In the end you'd have, for example, file.txt and file.bak.
The versioned file system is simply that concept writ large. Instead of file.txt and file.bak, you had file....
In addition to what others wrote: ITS, TENEX, TOPS-20.
In ITS, files are named by two string each at most six characters. The second file name can be a number to specify a version. If you open a file for reading, > will access the latest version. When writing, it creates a new version. < refers to the oldest version.
Moby edit. Let's make a ...
FILES-11 on DEC minicomputers was a versioned file system -- RSX-11M, IAS (on PDP-11), VMS (on VAX, Alpha).
Version numbers are very user-visible; they are part of the syntax for specifying a file. And programs are designed to behave appropriately for a versioned file system.
When creating a file, the normal way was to not specify a version number, and the ...
I am not personally aware of any operating system in the entire history of computing ever having had this feature.
Siemens BS2000 of the early 1970s may be an example here (*1) with a feature they called file generations. A new file could be marked in the catalogue as having generations, setting a base generation number and how many generations are to be ...
There were quite a few operating systems that had file versioning in the same era as unix.
Many file systems that we are familiar with today just have some components of a file name, such as:
They might have a path:
They might have a server (UNC as an example):
In many current ...