This commit is contained in:
https://www.google.com/accounts/o8/id?id=AItOawnpdM9F8VbtQ_H5PaPMpGSxPe_d5L1eJ6w 2013-10-04 14:39:15 +00:00 committed by admin
parent 7b7d4b2353
commit f0ec3d355a

View file

@ -0,0 +1,17 @@
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.