Hacker News new | ask | show | jobs
How do you keep effective version control of your desktop files?
9 points by abriscallbowker 1833 days ago
I have tried dropbox (with its version history feature) and traditional naming and file management strategies. I was wondering if there were any more efficient, user-friendly ways of keeping track of your desktop files and their respective versions? Almost a GitHub for desktop files.

I have in mind a solution where I will have a hosted repository of all my files, and once I select one file (eg 'Sales Deck') it would show me all versions (past commits) of the 'Sales Deck' file, from both myself and anyone else I share that particular repository with.

I know dropbox and (kind of) G Suite have this baked in as a feature, but find it hard to use as the UX isn't tailored towards this feature.

If I can't find anything that better suits my needs, then I may have a go developing something that does!

Would love to hear your thoughts.

5 comments

This problem ideally should be solved by the application creating them. So for e.g. You can use track-changes in MS Office, save work in multiple layers in Photoshop, etc.

Like the other poster I too believe that most binary files cannot be "versioned" (in that you cannot inspect their state and detect semantic changes). The only thing you can do is make a lot of copies - which makes the problem worse (IMO) because you can't diff them, or merge changes, or really do anything meaningful with them. You can do a 'human diff' by opening them side by side, but thats about it.

I use fossil, a single standalone executable for local version control. https://fossil-scm.org/home/doc/trunk/www/index.wiki
Unfortunately there isn't. Dropbox/GSuite are going to be your best bet... The problem is that binary files are hard to version control. I have found that using google drive/gsuite folders to work well for templated things and for stuff like configs I will use git.
I have a Borg/Vorta scheduled backup setup going, I can go to point in time if needed. It’s not as good as back when I could use Dropbox versioning, but it has saved me rework a few times.
The DEC VMS operating system had an extra component to their filenames. It was name.ext;version where the 'version' was an integer that incremented. Normally you would see the last N versions on any modified files until you purged them and then you'd only have one and the version numbers would start over.

When a program read a file it wouldn't say which version and the most recent would be read, or the next version written.

You could use a special filesystem that worked like this.

Edit: searching 'filesystem for git' has some matches.