i am working on a project where i need to copy many subsets of files stored in a single annex repo to separate folders outside of the annex repo (each subset to a separate folder).
to select each subset, i'm using
git annex metadata --set <tag>=<value> <path>.
what i would like to do, ideally, is to leverage each
git annex view <tag>=<value> invocation to directly check out the view's files to a specific directory outside of the annex repo.
the use case is basically the "Copying objects" strategy of the syncthing special remote discussion, although rather than having the 'directory' special remote contain files in that remote's specific layout, i would like them to be checked out simply with their original file names.
say i have these files in my main annex repo:
a.pdf (metadata: topic=haskell) b.pdf (metadata: topic=haskell) c.pdf (metadata: topic=iojs) d.pdf (metadata: topic=python) e.pdf (metadata: topic=haskell)
if i issue
git annex view topic=haskell, i have the files i want in my annex' root:
a.pdf b.pdf e.pdf
obviously i could then simply run
rsync --exclude .git -aL --delete . ../other/dir, which is totally fine, but maybe i'm just blindly missing something obvious and i could simply use something like
git annex --work-tree=../other/dir view topic=haskell and see
e.pdf appear in the target directory (i don't need any metadata in that directory, so only the plain files and no .git folder for a remote is fine).