summaryrefslogtreecommitdiff
path: root/doc/internals
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-07-24 13:36:23 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-07-24 13:36:23 -0400
commitc1a93cb4805e35e288b3185ef0f26cf1f3ab783f (patch)
treedec2b8a6d2892c5ae11750d497a1896da4968977 /doc/internals
parent56207070a011033519ade56791478101694ed964 (diff)
add chunk metadata to Key
Added new fields for chunk number, and chunk size. These will not appear in normal keys ever, but will be used for chunked data stored on special remotes. This commit was sponsored by Jouni K Seppanen.
Diffstat (limited to 'doc/internals')
-rw-r--r--doc/internals/key_format.mdwn9
1 files changed, 6 insertions, 3 deletions
diff --git a/doc/internals/key_format.mdwn b/doc/internals/key_format.mdwn
index 17e20592c..52fb80395 100644
--- a/doc/internals/key_format.mdwn
+++ b/doc/internals/key_format.mdwn
@@ -1,6 +1,6 @@
A git-annex key has this format:
- BACKEND-sNNNN-mNNNN--NAME
+ BACKEND[-sNNNN][-mNNNN][-SNNNN-CNNNN]--NAME
For example:
@@ -10,12 +10,15 @@ For example:
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;
- otherwise nearly anything goes.
+ it may contain "-" in its content. It should not contain newline
+ characters or "/"; otherwise nearly anything goes.
* 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).
* Other fields could be added in the future, if needed.
git-annex always puts the fields in the order shown above when serializing