diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2016-10-13 11:56:40 +0200 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2016-10-13 12:04:36 +0200 |
commit | e30d774670af80d93da4450a2edf2b5deff14e21 (patch) | |
tree | d85e6c2903da3a66ef05f2987186afc2287f2189 /libimagref | |
parent | fbd6e790c71c9640faaf2502c51c5a09d6441deb (diff) |
Move all libimag*/README.md to doc/src/05100-*
Diffstat (limited to 'libimagref')
-rw-r--r-- | libimagref/README.md | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/libimagref/README.md b/libimagref/README.md deleted file mode 100644 index 146059f1..00000000 --- a/libimagref/README.md +++ /dev/null @@ -1,54 +0,0 @@ -# libimagref - -This library crate contains functionality to generate _references_ within the -imag store. - -It can be used to create references to other files on the filesystem (reachable -via a filesystem path). It differs from `libimagentrylink`/external linking as -it is designed exclusively for filesystem references, not for URLs. - -A reference can have several properties, for example can a reference track the -content of a filesystem path by hashing the content with a hashsum (SHA1) and -one can check whether a file was changed by that. -As files can get big (think of `debian.iso`) _partial hashing_ is supported -(think of "hash the first 2048 bytes of a file). - -The library contains functionality to re-find a moved file automatically by -checking the content hash which was stored before. - -Permission changes can be tracked as well. - -So this library helps to resemble something like a _symlink_. - -## Limits - -Please understand that this is _not_ intended to be a version control system or -something like that. -We also can not use _real symlinks_ as we need imag-store-objects to be able to -link stuff. - -## Usecase - -This library offers functionality to refer to content outside of the store. -It can be used to refer to _nearly static stuff_ pretty easily - think of a -Maildir - you add new mails by fetching them, but you mostly do not remove mails -and if you do you end up with a "null pointer" in the store, which can then be -handled properly. - -As this library supports custom hashes (you don't have to hash the full file, -you can also parse the file and hash only _some_ content) this is pretty -flexible. -For example if you want to implement a imag module which tracks a certain kind -of files which constantly change... but the first 5 lines do never change -after the file is created - you can write a custom hasher that only uses the -first 5 lines for the hash. - -## Internals - -Internally, in the store, the file gets created under -`/ref/<hash of the path to the file to refer to>`. -If the content of the file is hashed, we can still re-find the file via the -content hash (which is stored in the header of the store entry). - -The reference object can, after the path was re-found, be updated. - |