Linked by Thom Holwerda on Mon 6th Aug 2012 13:16 UTC
Mac OS X How this passed through Apple's Mountain Lion testing is beyond me. "If one edits a document, then chooses Save As, then BOTH the edited original document and the copy are saved, thus not only saving a new copy, but silently saving the original with the same changes, thus overwriting the original." Just goes to show: do not mess with my ability to save my stuff. There is no one-size-fits-all for this kind of delicate stuff.
Thread beginning with comment 530035
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[6]: file versioning
by darknexus on Tue 7th Aug 2012 07:53 UTC in reply to "RE[5]: file versioning"
darknexus
Member since:
2008-07-15

Actually what Auto Save does is take regular snapshots of a document as you make changes and saves multiple backups going back in time which can be easily browsed and from which any number of earlier version can be retrieved.


What I want to know is where are these previous versions stored? In the document? The file metadata? Some special folder? Obviously they cannot be stored in the file proper, as if they were, most other operating systems probably wouldn't recognize the file and would fail to open it. It concerns me because I have one small system drive and several large data drives. If the version information is stored in the file's metadata (those annoy extra files you sometimes get when mixing OS X with other operating systems) then that's all well and good, but if it's using a special folder on my system drive, I'll eventually accidentally end up with my system drive filled and that will cause other problems. I know that applications' save states are saved in ~/Library/Saved Application State/, and that makes me wonder where versions are stored.

Reply Parent Score: 2

RE[7]: file versioning
by dnebdal on Tue 7th Aug 2012 09:03 in reply to "RE[6]: file versioning"
dnebdal Member since:
2008-08-27

From some quick googling, it seems to be storing them in /.DocumentRevisions-V100/ .

This reminds me of something VMS (and several others) does: Say you create a new file called "myfile.txt". Editing and saving that creates "myfile.txt;1", and saving again creates "myfile.txt;2". Opening "myfile.txt" grabs the one with the highest number - and increments that again when saving. File managers and the shells and such know about this system, and only show the newest version.

It's not as automatic (you have to manually save), and it does require extra space (I think each version is a complete copy - at least there's a purge command that removes all but the newest versions) - but the basic idea was and still is nice.

Reply Parent Score: 2

RE[8]: file versioning
by henderson101 on Tue 7th Aug 2012 09:18 in reply to "RE[7]: file versioning"
henderson101 Member since:
2006-05-30

I've not used VMS for years (since 1996/97), but as I remember it your first document was "mytext.txt;1" right off the bat. You could also use the "purge" command to delete all of the revisions, or "purge myfile.txt" to remove all the revisions leaving just the latest (very handy when you have a low disk quota.) It was pretty cool. Pity the VMS shell was so weird and un-Unix/DOS like. I'd love to see some of the features it had in a current OS.

Reply Parent Score: 2

RE[8]: file versioning
by darknexus on Tue 7th Aug 2012 10:36 in reply to "RE[7]: file versioning"
darknexus Member since:
2008-07-15

From some quick googling, it seems to be storing them in /.DocumentRevisions-V100/ .

I found a detailed explanation here:
http://tekonomist.wordpress.com/2011/08/06/mac-os-x-lion-file-versi...
Quite cool how it was implemented, and at least it's smart enough to store the document revisions on the drive and partition that actually contains the document. I do agree though that at the moment, requiring two workflows can be jarring depending on the application you use. Still, if Apple had made it mandatory, I can only imagine the bitching that would result. With this, plus the ability to get the Save As command back even in programs that do support version control, I think everybody can be happy though at the cost of a little complexity. I rather hope that the majority of programs move over to this method in time. I won't deny that at first I absolutely hated it, however after reading up on how it actually worked and playing with it, I actually prefer using versions when possible. The drawback is, of course, that it depends on Mac-specific metadata which means you really can't share versions with non-Mac users even if you give it to them on a fat32 or NTFS formatted drive. No other os knows about Apple's versioning scheme and indeed, Windows has its own versioning mechanism for certain file types. Also, if you clean the Mac data from a drive you intend to share (something I always do before sharing it) your versions are erased from that drive. Therefore, always keep your source material on drives you don't intend to share.
It occurs to me that we really could benefit from an open standard along these lines. Of course, even if we had one, no one would implement it except *NIX. Still, a guy can dream.

Reply Parent Score: 3