It's possible for one git annex repository to configure a special remote that it makes sense for other repositories to also be able to use. Today I added the UI to support that; in the list of repositories, such repositories have a "enable" link. To enable pre-existing rsync special remotes, the webapp has to do the same probing and ssh key setup that it does when initially creating them. Rsync.net is also handled as a special case in that code. There was one ugly part to this.. When a rsync remote is configured in the webapp, it uses a mangled hostname like "git-annex-example.com-user", to make ssh use the key it sets up. That gets stored in the `remote.log`, and so the enabling code has to unmangle it to get back to the real hostname. --- Based on the still-running [[prioritizing_special_remotes]] poll, a lot of people want special remote support for their phone or mp3 player. (As opposed to running git-annex on an Android phone, which comes later..) It'd be easy enough to make the webapp set up a directory special remote on such a device, but that makes consuming some types of content on the phone difficult (mp3 players seem to handle them ok based on what people tell me). I need to think more about some of the ideas mentioned in [[android]] for more suitable ways of storing files. One thing's for sure: You won't want the assistant to sync all your files to your phone! So I also need to start coming up with partial syncing controls. One idea is for each remote to have a configurable matcher for files it likes to receive. That could be only mp3 files, or all files inside a given subdirectory, or all files *not* in a given subdirectory. That means that when the assistant detects a file has been moved, it'll need to add (or remove) a queued transfer. Lots of other things could be matched on, like file size, number of copies, etc. Oh look, I have a [beautiful library I wrote earlier](http://joeyh.name/blog/entry/happy_haskell_hacker) that I can reuse!