I just started experimenting with git annex, and I found that I would like to have a way to figure out metadata (well, size. Maybe modification date) of a non-local file. I first checked if there is "git annex ls" (which could list known files in an ls-like way) and found "git annex whereis" as somewhat a replacement, but it does not give metadata information.
as a workaround, you could make a bash alias for
ls -l
->ls -lL
. the problem with this is that links to other links are fully dereferenced.what looks like this in a non-git-annex directory with
ls -lh
:looks like this in an indirect git annex repo with
ls -lhL
:the ls alias is a bit hackish, but for some purposes it's an improvement.
rsync may work as desired when using a command like
rsync -l --safe-links
(haven't tried it. users might want to experiment by adding--exclude
to that command.)a potential solution for ls (and cp) could be the inclusion of a patched version under
git annex util ls
. writing shim programs usingLD_PRELOAD
instead of patching may drastically reduce the amount of code needing future security updates.