We have preferred content, which is advisory, and numcopies, which is enforced (except by git annex move). What is missing is an expression like preferred content, which is enforced. So, required content.

For example, I might want a repository that is required to contain *.jpeg. This would make get --auto get it (it's implicitly part of the preferred content), and would make drop refuse to drop it.

I've implemented the basic required content. Currently only configurable via vicfg, because I don't think a lot of people are going to want to use it.

Note that I did not yet add the active verification discussed below. So if required content is set to not inallgroup=backup, or not copies=10, trying to drop a file will not go off and prove that there are 10 copies or that the file is in every repository in the backup group. It will assume that the location log is accurate and go by that.

I think this is enough to cover Richard's case, at least. In his example, A B and C are in group anchor and have required content set to include=*, and D E F have it set to not inallgroup=anchor. --Joey