3 ms·
Ask HN: Should I create a file-and-metadata-oriented version control system?
I'm tempted to create a file-and-metadata-oriented version control system, but I first wanted to see if any good ones already exist. Are there any out there already? Or should I create my own? (These questions require a bit of context, so please read ahead and bear with me...)
There already exist many version control systems for managing source code. I've used a couple myself (Subversion and Bazaar) for my programming projects. However, I've also tried using them to keep non-code-related data and projects under version control. Some examples of such data would be a directory full of images, or articles, or e-mail mailboxes (such as Thunderbird's), or a directory on a web hosting account. I've wanted to track much of these files' metadata (timestamps, modes, owners, permissions, etc.) and be able to restore old files AND their metadata when desired. I've tried using Subversion and Bazaar for this, but they don't seem to make it easy to record, version, and/or restore files' metadata (assuming that's even possible with these tools). Furthermore, I'd like to keep directories I track clear of any revision control tools' own data (such as .svn or .bzr directories). (There are other features I'd like such a system to have, but we can cover that later...)
To reiterate, my two questions are:
1) Does such a file-and-metadata-oriented version-control system already exist?
2) (Assuming that the answer to question 1 is "no" or "not a good one"...) Is anyone else interested in such a system? I'd love to create it anyway for my personal use, but I'd be even more motivated if it'd also be useful to others. If so, I'd love to get in touch with potential users, as well as reading the experiences of others who have tried using a source-code-oriented VCS to track general files and directories (especially if they're not fully satisfied with the results).
Thanks in advance.
- Egregore 15y agoI think before you start you should look at the newest version systems like git and Mercurial. My brother is a 3D modeler/animator and I know that he doesn't use a versioning system, may be you can make a good one for this niche market, but you should talk first with your future users and find their needs.
- _delirium 15y agoYou might be able to adapt one of the versioned-backup tools like rdiff-backup to your needs; they tend to focus on both being able to get a "clean" restore (no .svn/etc. scattered around the filesystem), and on storing metadata as well as data. They tend not to have as much in the way of history-navigation, though (commit messages, etc.), but to be more about keeping incremental snapshots and being able to restore from any point.