40 lines
1.8 KiB
Markdown
40 lines
1.8 KiB
Markdown
This special remote type stores file contents in a
|
|
[ddar](https://github.com/basak/ddar) repository. This provides easy
|
|
de-duplication when you use git-annex to manage many files that are similar.
|
|
|
|
Unlike bup, ddar uses its own storage format, which allows for both creation
|
|
and deletion of de-deduplicated files. In addition to using local storage, ddar
|
|
archives can be remote, providing that ddar is installed on the remote machine
|
|
and ssh is available to it.
|
|
|
|
See [[walkthrough/using_ddar]] for usage examples.
|
|
|
|
## encryption
|
|
|
|
Encryption is nominally supported, but is not useful. Since effective
|
|
encryption necessarily obfuscates file contents, similar areas across different
|
|
files are no longer visible to ddar and cannot be de-duplicated.
|
|
|
|
## compression
|
|
|
|
The same caveat with encryption also generally applies to compression, since
|
|
file compression changes file contents such that similar regions across files
|
|
no longer appear similar. An exception is `gzip --rsyncable`, which is
|
|
specifically designed to work around this issue. This is the only compression
|
|
mechanism with which de-duplication remains effective.
|
|
|
|
## configuration
|
|
|
|
These parameters can be passed to `git annex initremote` to configure ddar:
|
|
|
|
* `encryption` - One of "none", "hybrid", "shared", or "pubkey".
|
|
See [[encryption]]. However, note that encryption renders all de-duplication
|
|
ineffective.
|
|
|
|
* `keyid` - Specifies the gpg key to use for [[encryption]].
|
|
|
|
* `ddarrepo` - Required. This is passed to `ddar` as the path to the ddar
|
|
archive to use. If it doesn't exist, the ddar repository will be created
|
|
automatically when a file is first copied to it. To use a remote ddar
|
|
repository, use a colon (`:`) to separate the hostname from the remote path.
|
|
Example: "ddarrepo=example.com:/big/myddar" or "ddarrepo=/big/myddar"
|