git-annex/doc/internals/key_format.mdwn

30 lines
1.3 KiB
Text
Raw Normal View History

2012-11-30 20:01:29 +00:00
A git-annex key has this format:
BACKEND[-sNNNN][-mNNNN][-SNNNN-CNNNN]--NAME
2012-11-30 20:01:29 +00:00
For example:
SHA256E-s31390--f50d7ac4c6b9031379986bc362fcefb65f1e52621ce1708d537e740fefc59cc0.mp3
* The backend is one of the [[key-value_backends|backends]], which
are always upper-cased.
* The name field at the end has a format dependent on the backend. It is
always the last field, and is prefixed with "--". Unlike other fields,
it may contain "-" in its content. It should not contain newline
characters or "/"; otherwise nearly anything goes.
2012-11-30 20:01:29 +00:00
* The "-s" field is optional, and is the size of the content in bytes.
* The "-m" field is optional, and is the mtime of the file when it was
added to git-annex, expressed as seconds from the epoch.
This is currently only used by the WORM backend.
* The "-S" and "-C" fields are only used for keys that are chunks
of some other key. "-S" is the size of the chunk, and "-c" is the chunk
number (starting at 1).
2012-11-30 20:01:29 +00:00
* Other fields could be added in the future, if needed.
2014-07-24 16:54:29 +00:00
git-annex always puts the fields in the order shown above when serializing
a key. It can parse keys with the fields in other orders (although the name
field must always come last).
2013-12-17 17:26:38 +00:00
The `git annex examinekey` command can be used to extract information from
a key.