What do you think of the ability to transfer a file between unrelated annexes? With "migrate" already taken, I would suggest "catapult" (or "teleport")!

git annex catapult dir1/ $HOME/otherannex/somedir/
git annex catapult dir2/thisfile.jpg $HOME/otherannex/somedir/

git-annex would then:

  • Get list of present files
  • Copy the file to temporary space in $HOME/otherannex/.git/annex
  • fsck file
  • Move file to $HOME/otherannex/.git/annnex/objects
  • Create symlinks/directories in $HOME/otherannex/somedir/
  • Stage symlinks
  • Drop content and rm symlink

with the usual modifiers (e.g. --fast would skip the fsck, --force to skip non-present files?).

Reason I ask: I have a huge annex from importing the contents of a bunch of random harddrives and will eventually sort the contents into various other annexes I can put files into (personal, general family, specific people). Having git-annex guiding and checking the transfers from the sorting annex to the individual ones would be really nice.

Not having this isn't a showstopper (I can use rsync) so no worries if you don't think it is worth it or think it is but put it on the backburner :) Would just be a nice-to-have.