I have a normal git/git-annex remote configured via https called "origin". This means for git-annex purposes (copy/move/drop/etc.) it is read-only.
I've implemented a special remote that is able to do store and remove operations on that same location, also via https. I configured this special remote with --sameas=origin
, to signify that relationship.
Now ideally I would like operations like git annex drop --from=origin
or git annex copy --to=origin
to notice that origin itself cannot be used for these, and instead automatically fallback to the special remote that can do them.
I expected this to be the case already when specifying sameas, but apparently it isn't. Is it possible to achieve this?
Interesting idea. Even without --sameas, it's possible to have 2 remotes that connect to the same repository in different ways, with one being readonly and the other supporting write as well. So I don't think this is really specific to --sameas.
git-annex also has limited knowledge about whether a given special remote is readonly or not. That would make any kind of automated fallback unlikely to work well.
I think there would need to be some config option to enable this. Otherwise, the user might be surprised if git-annex used a remote that they didn't want it to use for whatever reason.
I've opened a todo, config different remote to use for write operations.