
* webapp: Detect when upgrades are available, and upgrade if the user desires. (Only when git-annex is installed using the prebuilt binaries from git-annex upstream, not from eg Debian.) * assistant: Detect when the git-annex binary is modified or replaced, and either prompt the user to restart the program, or automatically restart it. * annex.autoupgrade configures both the above upgrade behaviors. * Added support for quvi 0.9. Slightly suboptimal due to limitations in its interface compared with the old version. * Bug fix: annex.version did not get set on automatic upgrade to v5 direct mode repo, so the upgrade was performed repeatedly, slowing commands down. * webapp: Fix bug that broke switching between local repositories that use the new guarded direct mode. * Android: Fix stripping of the git-annex binary. * Android: Make terminal app show git-annex version number. * Android: Re-enable XMPP support. * reinject: Allow to be used in direct mode. * Futher improvements to git repo repair. Has now been tested in tens of thousands of intentionally damaged repos, and successfully repaired them all. * Allow use of --unused in bare repository. # imported from the archive
30 lines
1.2 KiB
Markdown
30 lines
1.2 KiB
Markdown
In both the .git/annex directory and the git-annex branch, two levels of
|
|
hash directories are used, to avoid issues with too many files in one
|
|
directory.
|
|
|
|
Two separate hash methods are used. One, the old hash format, is only used
|
|
for non-bare git repositories. The other, the new hash format, is used for
|
|
bare git repositories, the git-annex branch, and on special remotes as
|
|
well.
|
|
|
|
## new hash format
|
|
|
|
This uses two directories, each with a three-letter name, such as "f87/4d5"
|
|
|
|
The directory names come from the md5sum of the [[key|key_format]].
|
|
|
|
For example:
|
|
|
|
echo -n "SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" | md5sum
|
|
|
|
## old hash format
|
|
|
|
This uses two directories, each with a two-letter name, such as "pX/1J"
|
|
|
|
It takes the md5sum of the key, but rather than a string, represents it as 4
|
|
32bit words. Only the first word is used. It is converted into a string by the
|
|
same mechanism that would be used to encode a normal md5sum value into a
|
|
string, but where that would normally encode the bits using the 16 characters
|
|
0-9a-f, this instead uses the 32 characters "0123456789zqjxkmvwgpfZQJXKMVWGPF".
|
|
The first 2 letters of the resulting string are the first directory, and the
|
|
second 2 are the second directory.
|