I have a large annex (~200k files) on a server with a thin checkout on my laptop.
The scenario I was trying to achieve is to by default have:
- All files always present on the server
- Only files added locally/pulled manually on the laptop
It seems this can be achieved by setting preferred content to present
on the laptop, required *
on the server and then regularly calling
$ git annex sync --content
However, this is very slow (compared to --no-content, which takes seconds), it seems to iterate the whole repository for presence.
I'm not too familiar with git-annex's internals, but it seems finding a sparse set of present files is already implemented efficiently:
$ time git annex find --in=here
takes 5 seconds to complete on the laptop.