Is there a way to configure a central git repository that keeps track of large files with git annex so that multiple users can clone the repository but no repository clone can drop files from the server. Essentially, I'm looking for a way to have one repository that is always populated with at least one copy of each file. Other users shouldn't be able to tell that repository to drop any files (but would be able to add files it). The term "user" in that last sentence really refers to other clones...
It might not suit all your needs but you could try using gitolite and set permissions on the git-annex branch of your repository http://gitolite.com/gitolite/conf.html#write-types
If you configure the central repository to be in the "full backup" group, then the assistant and
git annex sync --content
etc will send the contents of all files to it, and never remove the contents of files from it.This doesn't prevent someone manually running
git annex drop --from $centralrepo --force
, or similar. But then, nothing prevents users from using git to push annexed files to the central repo, and never sending the contents of the files along to it.It would be possible to make
git-annex-shell
have a config setting that would prevent ever dropping keys. But I'd like to talk about this use case more, to make sure that really makes sense.