Here is a talk by a person who adores it: Yann Büchau: Staying in Control of your Scientific Data with Git Annex https://www.youtube.com/watch?v=IdRUsn-zB2s
And an interview When power is low, I often hack in the evenings by lantern light. https://usesthis.com/interviews/joey.hess/
FD: I have contributed to git-lfs.
You can apparently do, sort of, but not really, the same thing git-fetch-file[1] does, with git-annex:
git fetch-file add https://github.com/icculus/physfs.git "**" lib/physfs-main
git fetch-file pull
`add` creates this at `.git-remote-files`: [file "**"]
commit = 9d18d36b5a5207b72f473f05e1b2834e347d8144
target = lib/physfs-main
repository = https://github.com/icculus/physfs
branch = main
But git-annex's documentation goes on and on about a bunch of commands I don't really want to read about, whereas those two lines and that .git-remote-files manifest just told you what git-fetch-file does.git-annex can be a bit hard to grasp, so I suggest to create a throw-away repository, following the walkthrough[1] and try things out. See also workflows[2].
I wonder a bit whether that is ZFS, or git-annex, or maybe my disk, or sth else.
I tried using it for syncing large files in a collaborative repository, and the use of "magic" branches didn't seem to scale well.
EmilStenstrom•1h ago