Having the option of choosing for every file if we want it in our repository or not would be a great feature. It is currently possible using the wanted expression, but it is not very flexible, or it becomes unmaintainable.
I tried with two repositories a and b, with the following wanted expressions :
- for a:
not metadata=unwanted=<uuid-of-a>
- for b:
not metadata=unwanted=<uuid-of-b>
I think those expressions should be included in standard wanted expressions.
Also, to improbe the feature, it should be possible to set (or remove) metadata in directories, and those should automatically affect their content.
And we could imagine a git annex unwant
command that would add the unwanted metadata to a file, copy it to other repositories, and attempt to drop it.
I've often thought it would be handy to have a preferred content expression and a requested files list that work together. Which is, I think, similar to what you're saying?
So you could do something like "git annex wanted . --request " which would add it to a list of wanted files, that overrides the preferred content. Then you'd remove them also.
Use case for this would be requesting a file. Syncing the request to, say, a usb. Plugging that usb in somewhere else later, and having those files be automatically transferred. Then when the file reaches the destination it's dropped.
I guess this is possible already with the wanted expressions? What would that look like?