Out of curiosity, is there an equivalent to git cat-file with git annex?
The motivation is our usage of Bazel as a build system, which during test enforces hermiticity, and thus is very persnickity about modifying your workspace (e.g., the Git repository) while the test is being run, and usually isolates execution to a chroot'd sandbox of sorts.
Ideally, the workflows I'd like are:
A. Developer
- Clones repository.
- Inits
git annex, and doesgit annex get .to fetch all required files.
- Inits
- Runs
bazel test //repo:my_test, which will symlink the existing large file into the sandbox, and run without a hitch.
- Runs
B. Tentative Contributor
- Clones repository. Pokes around.
- Runs
bazel test //repo:my_test. Since the large file does not exist, under the hoodgit annex cat-fileis called to directly add the file to sandbox (possibly caching it somewhere, such thatgit annex getwill use the already fetch'd file).
- Runs
May I ask if this doable with simple visible commands? If not, is there a way to achieve this that is special remote-agnostic?

Think of
git annex getas more likegit pullthangit cat-file. It necessarily needs to modify the repository to get the contents of files.What about making a temporary clone of the git repository that's writable in the sandbox?