summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Waldmann <tw@waldmann-edv.de>2023-06-11 23:09:20 +0200
committerThomas Waldmann <tw@waldmann-edv.de>2023-06-11 23:09:20 +0200
commit70602bda521ad904e3d3044e5805488f8de02797 (patch)
treecae3b8dabaf6674b3c39524f8e59f2c76e6efa7d
parentfbf463496b9e76b62d6733c9c7e729f32e8b278c (diff)
build_usage
-rw-r--r--docs/usage/common-options.rst.inc1
-rw-r--r--docs/usage/create.rst.inc30
-rw-r--r--docs/usage/delete.rst.inc3
-rw-r--r--docs/usage/diff.rst.inc140
-rw-r--r--docs/usage/export-tar.rst.inc4
-rw-r--r--docs/usage/extract.rst.inc7
-rw-r--r--docs/usage/help.rst.inc93
-rw-r--r--docs/usage/import-tar.rst.inc7
-rw-r--r--docs/usage/list.rst.inc45
-rw-r--r--docs/usage/mount.rst.inc16
-rw-r--r--docs/usage/prune.rst.inc18
-rw-r--r--docs/usage/recreate.rst.inc4
-rw-r--r--docs/usage/rlist.rst.inc12
-rw-r--r--docs/usage/serve.rst.inc12
-rw-r--r--docs/usage/transfer.rst.inc86
15 files changed, 309 insertions, 169 deletions
diff --git a/docs/usage/common-options.rst.inc b/docs/usage/common-options.rst.inc
index 77f4728f8..793aedd84 100644
--- a/docs/usage/common-options.rst.inc
+++ b/docs/usage/common-options.rst.inc
@@ -18,4 +18,5 @@
--upload-buffer UPLOAD_BUFFER set network upload buffer size in MiB. (default: 0=no buffer)
--debug-profile FILE Write execution profile in Borg format into FILE. For local use a Python-compatible file can be generated by suffixing FILE with ".pyprof".
--rsh RSH Use this command to connect to the 'borg serve' process (default: 'ssh')
+--socket PATH Use UNIX DOMAIN (IPC) socket at PATH for client/server communication with socket: protocol.
-r REPO, --repo REPO repository to use
diff --git a/docs/usage/create.rst.inc b/docs/usage/create.rst.inc
index 0e60cc7e0..92f8259ae 100644
--- a/docs/usage/create.rst.inc
+++ b/docs/usage/create.rst.inc
@@ -43,17 +43,17 @@ borg create
+-------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| | ``--content-from-command`` | interpret PATH as command and store its stdout. See also section Reading from stdin below. |
+-------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | | ``--paths-from-stdin`` | read DELIM-separated list of paths to back up from stdin. Will not recurse into directories. |
+ | | ``--paths-from-stdin`` | read DELIM-separated list of paths to back up from stdin. All control is external: it will back up all files given - no more, no less. |
+-------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| | ``--paths-from-command`` | interpret PATH as command and treat its output as ``--paths-from-stdin`` |
+-------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | | ``--paths-delimiter DELIM`` | set path delimiter for ``--paths-from-stdin`` and ``--paths-from-command`` (default: \n) |
+ | | ``--paths-delimiter DELIM`` | set path delimiter for ``--paths-from-stdin`` and ``--paths-from-command`` (default: ``\n``) |
+-------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| .. class:: borg-common-opt-ref |
| |
| :ref:`common_options` |
+-------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | **Exclusion options** |
+ | **Include/Exclude options** |
+-------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| | ``-e PATTERN``, ``--exclude PATTERN`` | exclude paths matching PATTERN |
+-------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -73,7 +73,7 @@ borg create
+-------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Filesystem options** |
+-------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | | ``-x``, ``--one-file-system`` | stay in the same file system and do not store mount points of other file systems. This might behave different from your expectations, see the docs. |
+ | | ``-x``, ``--one-file-system`` | stay in the same file system and do not store mount points of other file systems - this might behave different from your expectations, see the description below. |
+-------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| | ``--numeric-ids`` | only store numeric user and group identifiers |
+-------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -138,15 +138,15 @@ borg create
--stdin-group GROUP set group GROUP in archive for stdin data (default: do not store group/gid)
--stdin-mode M set mode to M in archive for stdin data (default: 0660)
--content-from-command interpret PATH as command and store its stdout. See also section Reading from stdin below.
- --paths-from-stdin read DELIM-separated list of paths to back up from stdin. Will not recurse into directories.
+ --paths-from-stdin read DELIM-separated list of paths to back up from stdin. All control is external: it will back up all files given - no more, no less.
--paths-from-command interpret PATH as command and treat its output as ``--paths-from-stdin``
- --paths-delimiter DELIM set path delimiter for ``--paths-from-stdin`` and ``--paths-from-command`` (default: \n)
+ --paths-delimiter DELIM set path delimiter for ``--paths-from-stdin`` and ``--paths-from-command`` (default: ``\n``)
:ref:`common_options`
|
- Exclusion options
+ Include/Exclude options
-e PATTERN, --exclude PATTERN exclude paths matching PATTERN
--exclude-from EXCLUDEFILE read exclude patterns from EXCLUDEFILE, one per line
--pattern PATTERN include/exclude paths matching PATTERN
@@ -158,7 +158,7 @@ borg create
Filesystem options
- -x, --one-file-system stay in the same file system and do not store mount points of other file systems. This might behave different from your expectations, see the docs.
+ -x, --one-file-system stay in the same file system and do not store mount points of other file systems - this might behave different from your expectations, see the description below.
--numeric-ids only store numeric user and group identifiers
--atime do store atime into archive
--noctime do not store ctime into archive
@@ -276,13 +276,13 @@ through using the ``--keep-exclude-tags`` option.
The ``-x`` or ``--one-file-system`` option excludes directories, that are mountpoints (and everything in them).
It detects mountpoints by comparing the device number from the output of ``stat()`` of the directory and its
parent directory. Specifically, it excludes directories for which ``stat()`` reports a device number different
-from the device number of their parent. Be aware that in Linux (and possibly elsewhere) there are directories
-with device number different from their parent, which the kernel does not consider a mountpoint and also the
-other way around. Examples are bind mounts (possibly same device number, but always a mountpoint) and ALL
-subvolumes of a btrfs (different device number from parent but not necessarily a mountpoint). Therefore when
-using ``--one-file-system``, one should make doubly sure that the backup works as intended especially when using
-btrfs. This is even more important, if the btrfs layout was created by someone else, e.g. a distribution
-installer.
+from the device number of their parent.
+In general: be aware that there are directories with device number different from their parent, which the kernel
+does not consider a mountpoint and also the other way around.
+Linux examples for this are bind mounts (possibly same device number, but always a mountpoint) and ALL
+subvolumes of a btrfs (different device number from parent but not necessarily a mountpoint).
+macOS examples are the apfs mounts of a typical macOS installation.
+Therefore, when using ``--one-file-system``, you should double-check that the backup works as intended.
.. _list_item_flags:
diff --git a/docs/usage/delete.rst.inc b/docs/usage/delete.rst.inc
index 3eed03e5d..ab7bc7c85 100644
--- a/docs/usage/delete.rst.inc
+++ b/docs/usage/delete.rst.inc
@@ -23,8 +23,6 @@ borg delete
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
| | ``-s``, ``--stats`` | print statistics for the deleted archive |
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
- | | ``--cache-only`` | delete only the local cache for the given repository |
- +-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
| | ``--force`` | force deletion of corrupted archives, use ``--force --force`` in case ``--force`` does not work. |
+-----------------------------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------+
| | ``-c SECONDS``, ``--checkpoint-interval SECONDS`` | write checkpoint every SECONDS seconds (Default: 1800) |
@@ -69,7 +67,6 @@ borg delete
--list output verbose list of archives
--consider-checkpoints consider checkpoint archives for deletion (default: not considered).
-s, --stats print statistics for the deleted archive
- --cache-only delete only the local cache for the given repository
--force force deletion of corrupted archives, use ``--force --force`` in case ``--force`` does not work.
-c SECONDS, --checkpoint-interval SECONDS write checkpoint every SECONDS seconds (Default: 1800)
diff --git a/docs/usage/diff.rst.inc b/docs/usage/diff.rst.inc
index b3bd6797c..b7f166b96 100644
--- a/docs/usage/diff.rst.inc
+++ b/docs/usage/diff.rst.inc
@@ -12,39 +12,43 @@ borg diff
.. class:: borg-options-table
- +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------+
- | **positional arguments** |
- +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------+
- | | ``ARCHIVE1`` | ARCHIVE1 name |
- +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------+
- | | ``ARCHIVE2`` | ARCHIVE2 name |
- +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------+
- | | ``PATH`` | paths of items inside the archives to compare; patterns are supported |
- +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------+
- | **options** |
- +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------+
- | | ``--numeric-ids`` | only consider numeric user and group identifiers |
- +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------+
- | | ``--same-chunker-params`` | Override check of chunker parameters. |
- +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------+
- | | ``--sort`` | Sort the output lines by file path. |
- +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------+
- | | ``--json-lines`` | Format output as JSON Lines. |
- +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------+
- | .. class:: borg-common-opt-ref |
- | |
- | :ref:`common_options` |
- +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------+
- | **Exclusion options** |
- +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------+
- | | ``-e PATTERN``, ``--exclude PATTERN`` | exclude paths matching PATTERN |
- +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------+
- | | ``--exclude-from EXCLUDEFILE`` | read exclude patterns from EXCLUDEFILE, one per line |
- +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------+
- | | ``--pattern PATTERN`` | include/exclude paths matching PATTERN |
- +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------+
- | | ``--patterns-from PATTERNFILE`` | read include/exclude patterns from PATTERNFILE, one per line |
- +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------+
+ +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------------+
+ | **positional arguments** |
+ +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------------+
+ | | ``ARCHIVE1`` | ARCHIVE1 name |
+ +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------------+
+ | | ``ARCHIVE2`` | ARCHIVE2 name |
+ +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------------+
+ | | ``PATH`` | paths of items inside the archives to compare; patterns are supported |
+ +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------------+
+ | **options** |
+ +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------------+
+ | | ``--numeric-ids`` | only consider numeric user and group identifiers |
+ +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------------+
+ | | ``--same-chunker-params`` | Override check of chunker parameters. |
+ +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------------+
+ | | ``--sort`` | Sort the output lines by file path. |
+ +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------------+
+ | | ``--format FORMAT`` | specify format for differences between archives (default: "{change} {path}{NL}") |
+ +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------------+
+ | | ``--json-lines`` | Format output as JSON Lines. |
+ +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------------+
+ | | ``--content-only`` | Only compare differences in content (exclude metadata differences) |
+ +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------------+
+ | .. class:: borg-common-opt-ref |
+ | |
+ | :ref:`common_options` |
+ +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------------+
+ | **Include/Exclude options** |
+ +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------------+
+ | | ``-e PATTERN``, ``--exclude PATTERN`` | exclude paths matching PATTERN |
+ +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------------+
+ | | ``--exclude-from EXCLUDEFILE`` | read exclude patterns from EXCLUDEFILE, one per line |
+ +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------------+
+ | | ``--pattern PATTERN`` | include/exclude paths matching PATTERN |
+ +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------------+
+ | | ``--patterns-from PATTERNFILE`` | read include/exclude patterns from PATTERNFILE, one per line |
+ +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------------+
.. raw:: html
@@ -68,13 +72,15 @@ borg diff
--numeric-ids only consider numeric user and group identifiers
--same-chunker-params Override check of chunker parameters.
--sort Sort the output lines by file path.
+ --format FORMAT specify format for differences between archives (default: "{change} {path}{NL}")
--json-lines Format output as JSON Lines.
+ --content-only Only compare differences in content (exclude metadata differences)
:ref:`common_options`
|
- Exclusion options
+ Include/Exclude options
-e PATTERN, --exclude PATTERN exclude paths matching PATTERN
--exclude-from EXCLUDEFILE read exclude patterns from EXCLUDEFILE, one per line
--pattern PATTERN include/exclude paths matching PATTERN
@@ -84,19 +90,61 @@ borg diff
Description
~~~~~~~~~~~
-This command finds differences (file contents, user/group/mode) between archives.
+This command finds differences (file contents, metadata) between ARCHIVE1 and ARCHIVE2.
-A repository location and an archive name must be specified for REPO::ARCHIVE1.
-ARCHIVE2 is just another archive name in same repository (no repository location
-allowed).
+For more help on include/exclude patterns, see the :ref:`borg_patterns` command output.
-For archives created with Borg 1.1 or newer diff automatically detects whether
-the archives are created with the same chunker params. If so, only chunk IDs
-are compared, which is very fast.
+.. man NOTES
-For archives prior to Borg 1.1 chunk contents are compared by default.
-If you did not create the archives with different chunker params,
-pass ``--same-chunker-params``.
-Note that the chunker params changed from Borg 0.xx to 1.0.
+The FORMAT specifier syntax
++++++++++++++++++++++++++++
-For more help on include/exclude patterns, see the :ref:`borg_patterns` command output. \ No newline at end of file
+The ``--format`` option uses python's `format string syntax
+<https://docs.python.org/3.9/library/string.html#formatstrings>`_.
+
+Examples:
+::
+
+ $ borg diff --format '{content:30} {path}{NL}' ArchiveFoo ArchiveBar
+ modified: +4.1 kB -1.0 kB file-diff
+ ...
+
+ # {VAR:<NUMBER} - pad to NUMBER columns left-aligned.
+ # {VAR:>NUMBER} - pad to NUMBER columns right-aligned.
+ $ borg diff --format '{content:>30} {path}{NL}' ArchiveFoo ArchiveBar
+ modified: +4.1 kB -1.0 kB file-diff
+ ...
+
+The following keys are always available:
+
+- NEWLINE: OS dependent line separator
+- NL: alias of NEWLINE
+- NUL: NUL character for creating print0 / xargs -0 like output
+- SPACE: space character
+- TAB: tab character
+- CR: carriage return character
+- LF: line feed character
+
+
+Keys available only when showing differences between archives:
+
+- path: archived file path
+- change: all available changes
+
+- content: file content change
+- mode: file mode change
+- type: file type change
+- owner: file owner (user/group) change
+- group: file group change
+- user: file user change
+
+- link: file link change
+- directory: file directory change
+- blkdev: file block device change
+- chrdev: file character device change
+- fifo: file fifo change
+
+- mtime: file modification time change
+- ctime: file change time change
+- isomtime: file modification time change (ISO 8601)
+- isoctime: file creation time change (ISO 8601)
diff --git a/docs/usage/export-tar.rst.inc b/docs/usage/export-tar.rst.inc
index 1da3bc419..848d9d9c0 100644
--- a/docs/usage/export-tar.rst.inc
+++ b/docs/usage/export-tar.rst.inc
@@ -33,7 +33,7 @@ borg export-tar
| |
| :ref:`common_options` |
+-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------------------------------------------+
- | **Exclusion options** |
+ | **Include/Exclude options** |
+-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------------------------------------------+
| | ``-e PATTERN``, ``--exclude PATTERN`` | exclude paths matching PATTERN |
+-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------------------------------------------+
@@ -73,7 +73,7 @@ borg export-tar
:ref:`common_options`
|
- Exclusion options
+ Include/Exclude options
-e PATTERN, --exclude PATTERN exclude paths matching PATTERN
--exclude-from EXCLUDEFILE read exclude patterns from EXCLUDEFILE, one per line
--pattern PATTERN include/exclude paths matching PATTERN
diff --git a/docs/usage/extract.rst.inc b/docs/usage/extract.rst.inc
index bb0eb0352..b99dd03dd 100644
--- a/docs/usage/extract.rst.inc
+++ b/docs/usage/extract.rst.inc
@@ -37,11 +37,13 @@ borg extract
+-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------------------------------------------+
| | ``--sparse`` | create holes in output sparse file from all-zero chunks |
+-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------------------------------------------+
+ | | ``--continue`` | continue a previously interrupted extraction of same archive |
+ +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------------------------------------------+
| .. class:: borg-common-opt-ref |
| |
| :ref:`common_options` |
+-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------------------------------------------+
- | **Exclusion options** |
+ | **Include/Exclude options** |
+-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------------------------------------------+
| | ``-e PATTERN``, ``--exclude PATTERN`` | exclude paths matching PATTERN |
+-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------------------------------------------+
@@ -79,12 +81,13 @@ borg extract
--noxattrs do not extract/set xattrs
--stdout write all extracted data to stdout
--sparse create holes in output sparse file from all-zero chunks
+ --continue continue a previously interrupted extraction of same archive
:ref:`common_options`
|
- Exclusion options
+ Include/Exclude options
-e PATTERN, --exclude PATTERN exclude paths matching PATTERN
--exclude-from EXCLUDEFILE read exclude patterns from EXCLUDEFILE, one per line
--pattern PATTERN include/exclude paths matching PATTERN
diff --git a/docs/usage/help.rst.inc b/docs/usage/help.rst.inc
index ef4df4760..1fee15d4e 100644
--- a/docs/usage/help.rst.inc
+++ b/docs/usage/help.rst.inc
@@ -24,15 +24,13 @@ confuse the root with the ``PATH`` argument of e.g. `borg extract`.
Starting with Borg 1.2, paths that are matched against patterns always
appear relative. If you give ``/absolute/`` as root, the paths going
-into the matcher will look relative like ``absolute/.../file.ext``.
-If you give ``../some/path`` as root, the paths will look like
-``some/path/.../file.ext``.
+into the matcher will start with ``absolute/``.
+If you give ``../../relative`` as root, the paths will be normalized
+as ``relative/``.
-File patterns support five different styles. If followed by a colon ':',
-the first two characters of a pattern are used as a style selector.
-Explicit style selection is necessary if a non-default style is desired
-or when the desired pattern starts with two alphanumeric characters
-followed by a colon (i.e. ``aa:something/*``).
+Borg supports different pattern styles. To define a non-default
+style for a specific pattern, prefix it with two characters followed
+by a colon ':' (i.e. ``fm:path/*``, ``sh:path/**``).
`Fnmatch <https://docs.python.org/3/library/fnmatch.html>`_, selector ``fm:``
This is the default style for ``--exclude`` and ``--exclude-from``.
@@ -55,7 +53,8 @@ Shell-style patterns, selector ``sh:``
Like fnmatch patterns these are similar to shell patterns. The difference
is that the pattern may include ``**/`` for matching zero or more directory
levels, ``*`` for matching zero or more arbitrary characters with the
- exception of any path separator. A leading path separator is always removed.
+ exception of any path separator, ``{}`` containing comma-separated
+ alternative patterns. A leading path separator is always removed.
`Regular expressions <https://docs.python.org/3/library/re.html>`_, selector ``re:``
Unlike shell patterns, regular expressions are not required to match the full
@@ -175,6 +174,25 @@ before an exclude pattern, the file is backed up. Note that a no-recurse
exclude stops examination of subdirectories so that potential includes
will not match - use normal excludes for such use cases.
+Example::
+
+ # Define the recursion root
+ R /
+ # Exclude all iso files in any directory
+ - **/*.iso
+ # Explicitly include all inside etc and root
+ + etc/**
+ + root/**
+ # Exclude a specific directory under each user's home directories
+ - home/*/.cache
+ # Explicitly include everything in /home
+ + home/**
+ # Explicitly exclude some directories without recursing into them
+ ! re:^(dev|proc|run|sys|tmp)
+ # Exclude all other files and directories
+ # that are not specifically included earlier.
+ - **
+
**Tip: You can easily test your patterns with --dry-run and --list**::
$ borg create --dry-run --list --patterns-from patterns.txt archive
@@ -393,29 +411,44 @@ auto,C[,L]
obfuscate,SPEC,C[,L]
Use compressed-size obfuscation to make fingerprinting attacks based on
- the observable stored chunk size more difficult.
- Note:
- - you must combine this with encryption or it won't make any sense.
- - your repo size will be bigger, of course.
+ the observable stored chunk size more difficult. Note:
- The SPEC value will determine how the size obfuscation will work:
+ - You must combine this with encryption, or it won't make any sense.
+ - Your repo size will be bigger, of course.
+ - A chunk is limited by the constant ``MAX_DATA_SIZE`` (cur. ~20MiB).
+
+ The SPEC value determines how the size obfuscation works:
+
+ *Relative random reciprocal size variation* (multiplicative)
- Relative random reciprocal size variation:
Size will increase by a factor, relative to the compressed data size.
- Smaller factors are often used, larger factors rarely.
- 1: factor 0.01 .. 100.0
- 2: factor 0.1 .. 1000.0
- 3: factor 1.0 .. 10000.0
- 4: factor 10.0 .. 100000.0
- 5: factor 100.0 .. 1000000.0
- 6: factor 1000.0 .. 10000000.0
-
- Add a randomly sized padding up to the given size:
- 110: 1kiB
- ...
- 120: 1MiB
- ...
- 123: 8MiB (max.)
+ Smaller factors are used often, larger factors rarely.
+
+ Available factors::
+
+ 1: 0.01 .. 100
+ 2: 0.1 .. 1,000
+ 3: 1 ..