In regular repos, objects are stored in files of the form: .git/annex/objects/xY/z1/SHA1-.../SHA1-.... (scheme 1) On (some) special remotes, the corresponding file is stored at: .../abc/def/SHA1-... (scheme 2) I'm not sure why the same scheme as in .git/objects isn't used, but it would be useful that the two-directory prefix were the same for all objects stores. My use case is: I synchronize a git repo, say containing photos, to a server on which I can't install git-annex. I want the server to store all annexed files. For the photos to be viewed online, the annex store must use the scheme 1 (because the symlinks point to files with scheme 1). So I need to rsync .git/annex/objects manually from my desktop, because a git-annex rsync remote uses scheme 2. On the other hand, the repo on this server is not known by git-annex (like it would if I used a rsync remote). At least it would be valuable (to get around above problem) to have a plumbing command giving the 2-directory prefix from a given key, for example: $ git annex prefix-dir SHA1-s2--3f786850e387550fdab836ed7e6dc881 7w/88 f18/122 Even if the 2 schemes were unified, this prefix-dir command would still be useful when hacking around git-annex (for now I need to maintain a dictionary structure). Thanks a lot.