I've spent a week making git-annex be able to store files in a remote
on a server using git-lfs.

That included writing a haskell implementation of the git-lfs protocol.
That could be split out of git-annex into a library if someone wants to use
it for something else.

Now [[git-lfs is now just another special remote|special_remotes/git-lfs]]
as far as git-annex is concerned. Albeit one that it can't drop data from,
because the git-lfs protocol does not have a way to delete an object.

Once nice thing about git-annex's support for git-lfs is it can be used
along with git-remote-gcrypt, and the result is a remote where both the
annexed files and the git repo contents are both encrypted.

See [[tips/storing_data_in_git-lfs]] for details.