[[!comment format=mdwn
 username="Ilya_Shlyakhter"
 avatar="http://cdn.libravatar.org/avatar/1647044369aa7747829c38b9dcc84df0"
 subject="readonly special remotes]"
 date="2019-05-28T17:25:19Z"
 content="""
\"Setting readonly=true for a special remote prevents using the external special remote program at all\" -- that's the part I didn't realize.  If I understand correctly:

1. for all remotes, setting `readonly=true` \"prevents git-annex from making changes to a remote... this both prevents git-annex sync from pushing changes, and prevents storing or removing files from read-only remote.\"
2. additionally, for special remotes, this \"prevents using the external special remote program at all\", and instead causes `git-annex` to be [downloading the content of a file using a regular http connection, with no authentication](https://git-annex.branchable.com/design/external_special_remote_protocol/#index9h2)?

If so, it would be best to add a separate config setting for (2).  I'm not sure, though, why that case needs special handling.  If a key's contents is available at a regular `http` URL, shouldn't the key be recorded as present in the built-in web special remote, rather than the user-defined special remote?

The external special remote here is one I wrote myself, for accessing data on [DNAnexus](https://www.dnanexus.com/).
"""]]
