In one of my annexes I will g-a-add a (e.g.) zip file, extract and g-a-add its contents and then set metadata on "each side"..

    git annex metadata -s extracted_from+=$key_for_original.zip files_from_zip/
    git annex metadata -s extracted_to+=$key_for_file1 original.zip
    git annex metadata -s extracted_to+=$key_for_file2 original.zip
    git annex metadata -s extracted_to+=$key_for_file3 original.zip
    git annex metadata -s extracted_to+=$key_for_file4 original.zip

This means that if the content for a file in files_from_zip/ is lost, you can easily find that it came from original.zip (which may not be lost) *or any other zip in that annex that also contains that file*.

I was wondering if this would be worth building in?

    git annex metadata --fromto original.zip files_from_zip/

There are other situations this is useful (and I use), for example, when I convert an annexed file to another format, I record the "source" and "target" keys against each other. I suppose a very general name would be:

    git annex metadata --parentchild original.zip files_from_zip/
    git annex metadata --parentchild original.wav compressed.flac
    git annex metadata --parentchild original.svg compressed.png

and this would set 'parent' and 'child' metadata respectively.

[[!tag needsthought]]
