blob: 83ce531278df4b0264fff9b8b9f351bc6934c6fe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
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.
|