diff options
author | Joey Hess <joey@kitenet.net> | 2010-10-19 15:59:40 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2010-10-19 15:59:40 -0400 |
commit | 7bc4435ffdc1760a7ac8638cdc1cfac78aebaabb (patch) | |
tree | af591561fa5bf30c82e9fcbb3c83130edad5bcaf /doc/backends.mdwn | |
parent | 6ef1c2d2daf37dc92b4c364ea34802b62688018b (diff) |
update
Diffstat (limited to 'doc/backends.mdwn')
-rw-r--r-- | doc/backends.mdwn | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/doc/backends.mdwn b/doc/backends.mdwn new file mode 100644 index 000000000..d3ccaec49 --- /dev/null +++ b/doc/backends.mdwn @@ -0,0 +1,21 @@ +git-annex uses a key-value abstraction layer to allow file contents to be +stored in different ways. In theory, any key-value storage system could be +used to store file contents. + +When a file is annexed, a key is generated from its content and/or metadata. +The file checked into git symlinks to the key. This key can later be used +to retrieve the file's content (its value). + +Multiple pluggable backends are supported, and more than one can be used +to store different files' contents in a given repository. + +* `WORM` ("Write Once, Read Many") This backend stores the file's content + only in `.git/annex/`, and assumes that any file with the same basename, + size, and modification time has the same content. So with this backend, + files can be moved around, but should never be added to or changed. + This is the default, and the least expensive backend. +* `SHA1` -- This backend stores the file's content in + `.git/annex/`, with a name based on its sha1 checksum. This backend allows + modifications of files to be tracked. Its need to generate checksums + can make it slower for large files. +* `URL` -- This backend downloads the file's content from an external URL. |