I would like to be able to name a few remotes that must retain all annexed
files. git-annex fsck
should warn me if any files are missing from those
remotes, even if annex.numcopies
has been satisfied by other remotes.
I imagine this could also be useful for bup remotes, but I haven't actually looked at those yet.
Based on existing output, this is what a warning message could look like:
fsck FILE
3 of 3 trustworthy copies of FILE exist.
FILE is, however, still missing from these required remotes:
UUID -- Backup Drive 1
UUID -- Backup Drive 2
Back it up with git-annex copy.
Warning
What do you think?
Seems to have a scalability problem, what happens when such a repository becomes full?
Another way to accomplish I think the same thing is to pick the repositories that you would include in such a set, and make all other repositories untrusted. And set numcopies as desired. Then git-annex will never remove files from the set of non-untrusted repositories, and fsck will warn if a file is present on only an untrusted repository.
Right, I have thought about untrusting all but a few remotes to achieve something similar before and I'm sure it would kind of work. It would be more of an ugly workaround, however, because I would have to untrust remotes that are, in reality, at least semi-trusted. That's why an extra option/attribute for that kind of purpose/remote would be nice.
Obviously I didn't see the scalability problem though. Good Point. Maybe I can achieve the same thing by writing a log parsing script for myself?