-
-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature] Support for cold archiving #164
Comments
Thanks for the suggestion. Do you mean you'd like to manually move some files outside of oxyromon? I'd rather have the archiving mechanic be a part of oxyromon, maybe supporting some popular cloud storage protocols would be a nice first step. I wouldn't be able to distinguish archived files from accidentally deleted files and it would totally break |
Thanks to you for the support! Exactly, let's assume that i'm starting from a green dat so 100% complete. This option should mark the dat and all the content as archived. From now on, you can move/archive this roms whichever you want, on external hard drives, bluray, tapes, cloud: whenever a new update of the dat comes out wich adds/remove/renames something, all the new stuff will be stored in the current scanning folder and what's archived is not touched becouse the files are not there but the scan should acts as they are in it. So i can still updating this archived set even if i have cold stored all the files somewhere else: at this point if at a later time i will merge the archived files previously stored with the current scan folder which has just what's new (somesort of diff update) i can reconstruct the full 100% set. Conceptually speaking i was thinking to a method which shoudn't break too much in the current architecture and this method should use sparse files. Sparse files allows us to make dummy files which are logically of the same size of the archived counterpart but which has 0 byte of physical space occupied on the hdd. So everything should works as before, we just need to ignore checksums on all the files which have the archived flag. Talking about the archived flag, a simple solution should be something like this: Dat Rom Room Folder of course this is just an idea. What do you think about it? |
That's a good idea. I'd still want the archiving process to be part of oxyromon, via a While I write that I realize there's some overlap with the existing |
This sounds a lot like git-annex, in case you're looking for a solution right now. Maybe oxyromon could also treat the dead symlinks annex leaves when files aren't local as special, since the link target filename usually includes a (configurable) hashsum, because renaming and moving the file is still possible in this state. |
afaik git-annex is not 100% compatible with all OS, expecially Windows so i don't know if the git-annex approach should works good for every case. |
Annex used to have problems with Symlinks on NTFS, but as far as I can tell, these have been resolved on Microsoft's side as part of the push to make WSL work much better ( https://git-annex.branchable.com/todo/windows_support/ It's not a trivial commitment though, so I understand if you don't want to take the chance. I'll let y'all get back on topic now. |
But actually even if git-annex would works good under Windows, it will not solves the main problem of the described scenario (correct me if i'm wrong). I mean, even if you annex (archive) all the files and now you have symlinks instead, when you move the real data objects (becouse you archived it somewhere), when you are going to scan again the folder with all the symlinks you'll get errors becouse the original data are not physically present anymore and you still need to copy it back before do a new scan. The original purpose of this idea is keep going to update something without the needs to phisically have the archived data in place when you are updating something, and in this case, the rom manager should says anyways that you are 100% green (logically speaking, as physically the only data you currently have stored is only the diff data, as the archived one is cold stored away). |
Annex isn't purely an archiving tool, so "annexing" is just adding a file to any repository. What annex actually does in the background is move your physical file to |
I think this feature should help who wants/needs to cold archive roms, expecially the big sets which are not update very often.
Let's say that i want to archive a big set somewhere (tape archive, cloud, backups, etc...) but this set is currently being update/modified: the archived files are not physically present anymore in the scan folder but the program should treat them as they were still present, so only what's new/update/modified is currently written in the current folder. If an archived roms needs a rename, only the archived reference is renamed; if an archived set with multiple roms inside a single zip (think to MAME for example) needs to be update with new roms, in the current folder a zip with just the new modifications/additions is made.
The text was updated successfully, but these errors were encountered: