Continuing the discussion from Use standard UI controls whenever possible:
What is duplicacy snapshot? It’s a virtual immutable filesystem, effectively, with its own internal API and a lot of code around it to access it and eventually produce just a handful few useful scenarios:
- copy files out of there (aka restore)
- copy files into a new leaf with deduplication (aka backup)
- delete the leaf (aka prune)
So, why not take one more step further and implement an actual user mode VFS?
This opens up tons of opportunities and elegant workflows:
For example,
- during restore, instead of browsing in awkward custom control user can use native OS file browser (see linked topic).
- Or, just click a button after selecting revision and the snapshot in mounted as readonly filesystem. As a drive letter. or into /Volumes/mybackup_r139. Then user can use all sorts of tools such as
diff
, “Find Duplicates”,find
,grep
, etc. (otherwise user would need to checkout entire repository into a temp folder and then do all of that, which is wasteful for bandwidth and time) - I can imagine that this will wrap around a lot of core in restore workflow and make design simpler.
Now, I’m not an expert in user mode filesystem design, or in user mode software development for that matter, (and while I see how can this be done fairly easily as a kernel extension – I would not recommend it; it should stay in userland if possible) but quick google search yields a few vfs support libraries in goland… so maybe there is hope
Perhaps something to consider for revision 3.xx.xx?
(I makes me happy to even think about possibility to mount backed up snapshot as a filesystem, it’s super cool)