diff --git a/docs/changes.rst b/docs/changes.rst index 5928735b5..da817da43 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -422,25 +422,28 @@ above. New features: -- create/import-tar --quick-stats: faster than --stats by omitting "All archives" - and repository chunk statistics, #9579 -- delete/prune --quick-stats: faster than --stats by omitting "All archives" statistics, #9757 +- create/import-tar/delete/prune --quick-stats: faster than --stats by omitting "All archives" + and repository chunk statistics, #9579, #9757 - prune: show total vs matching archives in output, #9262 +- create --exclude-dataless: macOS: skip cloud files not materialized locally, #9746 - Minimal implementation of "related repositories", #9645 - This feature allows multiple repositories to share deduplication-relevant secrets (id_key and chunk_seed) while maintaining secure, independent encryption keys. + This feature allows multiple repositories to share deduplication-relevant secrets + (id_key and chunk_seed) while maintaining secure, independent encryption keys. - borg key export-related-secrets - borg init --import-related-secrets - Fixes: -- hashindex: fix new checks for big endian archs, #9521 +- Archive.delete: don't reuse msgpack Unpacker after an unpacking failure - slashdot hack: fix exclusion of source directory metadata, #9534 +- hashindex: fix new checks for big endian archs, #9521 -Note: Many of the fixed issues listed below relate to rather rare or theoretical - issues and were found by automated code checking. +Note: + + Many of the fixed issues listed below relate to rather rare or theoretical + issues and were found by automated code checking. - LRUCache: resolve KeyError and memory leaks, #9587 - crypto.low_level: fix freeing of memory, #9585 @@ -473,10 +476,15 @@ Note: Many of the fixed issues listed below relate to rather rare or theoretical Other changes: -- msgpack: also allow 1.2.0 and 1.2.1 +- msgpack: also allow up to 1.2.1 - use F_FULLFSYNC on macOS for SyncFile data durability, #9383 - mount: improve error msg when uid/gid cannot be resolved, #9574 +- properly handle invalid and dev versions in version parser, fixes #9014 +- tests: reset borg.output.progress logger between tests to fix flakiness - docs: + + - borgbackup.readthedocs.io: offer PDF and html downloads in sidebar, #9731 + - fix 'borg key change-passphrase' docs, #9697 - impact of the slashdot hack on pattern matching, #9647 - pull-backup.rst minor fixes - sshfs + chroot does not support different CPU architectures, #6878 @@ -490,6 +498,7 @@ Other changes: - improve macOS Keychain instructions, #5156 - add DoS warning for none encryption mode, #6715 - document error handling in borg create, #4912 + - update year in LICENSE and docs/conf.py Version 1.4.4 (2026-03-19) diff --git a/docs/man/borg-benchmark-crud.1 b/docs/man/borg-benchmark-crud.1 index 1640084f2..943cfb637 100644 --- a/docs/man/borg-benchmark-crud.1 +++ b/docs/man/borg-benchmark-crud.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-benchmark-crud" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-benchmark-crud" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-benchmark-crud \- Benchmark Create, Read, Update, Delete for archives. .SH SYNOPSIS diff --git a/docs/man/borg-benchmark.1 b/docs/man/borg-benchmark.1 index 845a4779a..a3364d0a1 100644 --- a/docs/man/borg-benchmark.1 +++ b/docs/man/borg-benchmark.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-benchmark" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-benchmark" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-benchmark \- benchmark command .SH SYNOPSIS diff --git a/docs/man/borg-break-lock.1 b/docs/man/borg-break-lock.1 index 33b318fca..c3047f09d 100644 --- a/docs/man/borg-break-lock.1 +++ b/docs/man/borg-break-lock.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-break-lock" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-break-lock" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-break-lock \- Break the repository lock (e.g. in case it was left by a dead borg. .SH SYNOPSIS diff --git a/docs/man/borg-check.1 b/docs/man/borg-check.1 index 03c41e6a9..163ef93ae 100644 --- a/docs/man/borg-check.1 +++ b/docs/man/borg-check.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-check" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-check" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-check \- Check repository consistency .SH SYNOPSIS diff --git a/docs/man/borg-common.1 b/docs/man/borg-common.1 index 4f3b53e2a..5c7b78104 100644 --- a/docs/man/borg-common.1 +++ b/docs/man/borg-common.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-common" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-common" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-common \- Common options of Borg commands .SH SYNOPSIS diff --git a/docs/man/borg-compact.1 b/docs/man/borg-compact.1 index a4c2791bb..8a739b415 100644 --- a/docs/man/borg-compact.1 +++ b/docs/man/borg-compact.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-compact" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-compact" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-compact \- compact segment files in the repository .SH SYNOPSIS diff --git a/docs/man/borg-compression.1 b/docs/man/borg-compression.1 index df7166eaa..b3fa25827 100644 --- a/docs/man/borg-compression.1 +++ b/docs/man/borg-compression.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-compression" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-compression" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-compression \- Details regarding compression .SH DESCRIPTION diff --git a/docs/man/borg-config.1 b/docs/man/borg-config.1 index 35c116bc2..89dda5c3f 100644 --- a/docs/man/borg-config.1 +++ b/docs/man/borg-config.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-config" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-config" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-config \- get, set, and delete values in a repository or cache config file .SH SYNOPSIS @@ -97,6 +97,12 @@ $ borg config /path/to/repo additional_free_space 2G # make a repo append\-only $ borg config /path/to/repo append_only 1 + +# set storage quota to 50 GB +$ borg config /path/to/repo storage_quota 50G + +# set maximum segment size to 100 MiB (see \(dqAdjusting segment size\(dq in Usage Notes) +$ borg config /path/to/repo max_segment_size 104857600 .EE .UNINDENT .UNINDENT diff --git a/docs/man/borg-create.1 b/docs/man/borg-create.1 index b77c2ffdc..43cf873e2 100644 --- a/docs/man/borg-create.1 +++ b/docs/man/borg-create.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-create" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-create" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-create \- Create new archive .SH SYNOPSIS @@ -132,7 +132,9 @@ the currently processed path. When using \fB\-\-stats\fP, you will get some statistics about how much data was added \- the \(dqThis Archive\(dq deduplicated size there is most interesting as that is how much your repository will grow. Please note that the \(dqAll archives\(dq stats refer to -the state after creation. Also, the \fB\-\-stats\fP and \fB\-\-dry\-run\fP options are mutually +the state after creation. \fB\-\-stats\fP can be slow \- if you want something faster, use +\fB\-\-quick\-stats\fP (this skips the repository\-wide \(dqAll archives\(dq and chunk index statistics). +The \fB\-\-stats\fP / \fB\-\-quick\-stats\fP and \fB\-\-dry\-run\fP options are mutually exclusive because the data is not actually compressed and deduplicated during a dry run. .sp For more help on include/exclude patterns, see the \fIborg_patterns\fP command output. @@ -159,6 +161,9 @@ do not create a backup archive .B \-s\fP,\fB \-\-stats print statistics for the created archive .TP +.B \-\-quick\-stats +print only archive statistics, skipping repository\-wide statistics +.TP .B \-\-list output verbose list of items (files, dirs, ...) .TP @@ -221,6 +226,9 @@ if tag objects are specified with \fB\-\-exclude\-if\-present\fP, don\(aqt omit .TP .B \-\-exclude\-nodump exclude files flagged NODUMP +.TP +.B \-\-exclude\-dataless +exclude files flagged DATALESS (macOS: placeholder files whose content is not materialized locally, e.g. not\-downloaded cloud storage files) .UNINDENT .SS Filesystem options .INDENT 0.0 @@ -405,6 +413,22 @@ Linux examples for this are bind mounts (possibly same device number, but always subvolumes of a Btrfs file system (different device numbers from the parent but not necessarily mount points). macOS examples are the APFS mounts of a typical macOS installation. Therefore, when using \fB\-\-one\-file\-system\fP, you should double\-check that the backup works as intended. +.SS Error handling +.sp +When Borg encounters a file or directory it cannot read (e.g., due to permission +denied, or another process holding an exclusive lock on Windows), it will: +.INDENT 0.0 +.IP \(bu 2 +Log a warning message. +.IP \(bu 2 +Skip that file or directory and continue backing up the remaining files. +.IP \(bu 2 +Exit with a Warning RC at the end of the operation. +.UNINDENT +.sp +This ensures that a single problematic file does not abort your entire backup. +You should check your logs for these warnings to ensure that all important data +is being backed up. .SS Item flags .sp \fB\-\-list\fP outputs a list of all files, directories and other diff --git a/docs/man/borg-delete.1 b/docs/man/borg-delete.1 index 6862008a9..712d9e7a4 100644 --- a/docs/man/borg-delete.1 +++ b/docs/man/borg-delete.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-delete" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-delete" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-delete \- Delete an existing repository or archives .SH SYNOPSIS @@ -52,6 +52,9 @@ When using \fB\-\-stats\fP, you will get some statistics about how much data was deleted \- the \(dqDeleted data\(dq deduplicated size there is most interesting as that is how much your repository will shrink. Please note that the \(dqAll archives\(dq stats refer to the state after deletion. +\fB\-\-stats\fP can be slow \- if you want something faster, use \fB\-\-quick\-stats\fP +(this skips the repository\-wide \(dqAll archives\(dq statistics). +The \fB\-\-stats\fP / \fB\-\-quick\-stats\fP and \fB\-\-dry\-run\fP options are mutually exclusive. .sp You can delete multiple archives by specifying a shell pattern to match multiple archives using the \fB\-\-glob\-archives GLOB\fP option (for more info on @@ -84,6 +87,9 @@ output verbose list of archives .B \-s\fP,\fB \-\-stats print statistics for the deleted archive .TP +.B \-\-quick\-stats +print only deletion statistics, skipping repository\-wide statistics +.TP .B \-\-cache\-only delete only the local cache for the given repository .TP diff --git a/docs/man/borg-diff.1 b/docs/man/borg-diff.1 index b1ce83091..5d0334d78 100644 --- a/docs/man/borg-diff.1 +++ b/docs/man/borg-diff.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-diff" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-diff" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-diff \- Diff contents of two archives .SH SYNOPSIS diff --git a/docs/man/borg-export-tar.1 b/docs/man/borg-export-tar.1 index db063171e..3e2f33d70 100644 --- a/docs/man/borg-export-tar.1 +++ b/docs/man/borg-export-tar.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-export-tar" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-export-tar" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-export-tar \- Export archive contents as a tarball .SH SYNOPSIS diff --git a/docs/man/borg-extract.1 b/docs/man/borg-extract.1 index 0471f569f..40d53db1f 100644 --- a/docs/man/borg-extract.1 +++ b/docs/man/borg-extract.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-extract" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-extract" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-extract \- Extract archive contents .SH SYNOPSIS diff --git a/docs/man/borg-import-tar.1 b/docs/man/borg-import-tar.1 index db2442261..b4835eb7f 100644 --- a/docs/man/borg-import-tar.1 +++ b/docs/man/borg-import-tar.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-import-tar" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-import-tar" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-import-tar \- Create a backup archive from a tarball .SH SYNOPSIS @@ -96,6 +96,9 @@ filter program to pipe data through .B \-s\fP,\fB \-\-stats print statistics for the created archive .TP +.B \-\-quick\-stats +print only archive statistics, skipping repository\-wide statistics +.TP .B \-\-list output verbose list of items (files, dirs, ...) .TP diff --git a/docs/man/borg-info.1 b/docs/man/borg-info.1 index 8f33524e8..b231d5573 100644 --- a/docs/man/borg-info.1 +++ b/docs/man/borg-info.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-info" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-info" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-info \- Show archive details such as disk space used .SH SYNOPSIS diff --git a/docs/man/borg-init.1 b/docs/man/borg-init.1 index e6f1d87b1..7cc134174 100644 --- a/docs/man/borg-init.1 +++ b/docs/man/borg-init.1 @@ -29,7 +29,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-init" "1" "2026-05-15" "" "borg backup tool" +.TH "borg-init" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-init \- Initialize an empty repository .SH SYNOPSIS diff --git a/docs/man/borg-key-change-passphrase.1 b/docs/man/borg-key-change-passphrase.1 index 0ce85d6b2..a2c85bcf8 100644 --- a/docs/man/borg-key-change-passphrase.1 +++ b/docs/man/borg-key-change-passphrase.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-key-change-passphrase" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-key-change-passphrase" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-key-change-passphrase \- Change repository key file passphrase .SH SYNOPSIS diff --git a/docs/man/borg-key-export-related-secrets.1 b/docs/man/borg-key-export-related-secrets.1 index 2002d7b1c..ea0d7330e 100644 --- a/docs/man/borg-key-export-related-secrets.1 +++ b/docs/man/borg-key-export-related-secrets.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-key-export-related-secrets" "1" "2026-05-15" "" "borg backup tool" +.TH "borg-key-export-related-secrets" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-key-export-related-secrets \- Export secrets for creating related repositories .SH SYNOPSIS diff --git a/docs/man/borg-key-export.1 b/docs/man/borg-key-export.1 index e1e229919..bc3a6f45c 100644 --- a/docs/man/borg-key-export.1 +++ b/docs/man/borg-key-export.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-key-export" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-key-export" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-key-export \- Export the repository key for backup .SH SYNOPSIS diff --git a/docs/man/borg-key-import.1 b/docs/man/borg-key-import.1 index 3d39edeaf..40e32394b 100644 --- a/docs/man/borg-key-import.1 +++ b/docs/man/borg-key-import.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-key-import" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-key-import" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-key-import \- Import the repository key from backup .SH SYNOPSIS @@ -67,6 +67,9 @@ path to the backup (\(aq\-\(aq to read from stdin) .B \-\-paper interactively import from a backup done with \fB\-\-paper\fP .UNINDENT +.SH EXAMPLES +.sp +This command can be used to create a related repository: .SH SEE ALSO .sp \fIborg\-common(1)\fP, \fIborg\-key\-export(1)\fP diff --git a/docs/man/borg-key-migrate-to-repokey.1 b/docs/man/borg-key-migrate-to-repokey.1 index f3bb0fecb..05fd6f78c 100644 --- a/docs/man/borg-key-migrate-to-repokey.1 +++ b/docs/man/borg-key-migrate-to-repokey.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-key-migrate-to-repokey" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-key-migrate-to-repokey" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-key-migrate-to-repokey \- Migrate passphrase -> repokey .SH SYNOPSIS diff --git a/docs/man/borg-key.1 b/docs/man/borg-key.1 index 58a903338..951824db8 100644 --- a/docs/man/borg-key.1 +++ b/docs/man/borg-key.1 @@ -28,12 +28,13 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-key" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-key" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-key \- Manage a keyfile or repokey of a repository .SH SYNOPSIS .nf borg [common options] key export ... +borg [common options] key export\-related\-secrets ... borg [common options] key import ... borg [common options] key change\-passphrase ... borg [common options] key migrate\-to\-repokey ... @@ -41,7 +42,7 @@ borg [common options] key migrate\-to\-repokey ... .sp .SH SEE ALSO .sp -\fIborg\-common(1)\fP, \fIborg\-key\-export(1)\fP, \fIborg\-key\-import(1)\fP, \fIborg\-key\-change\-passphrase(1)\fP, \fIborg\-key\-migrate\-to\-repokey(1)\fP +\fIborg\-common(1)\fP, \fIborg\-key\-export(1)\fP, \fIborg\-key\-export\-related\-secrets(1)\fP, \fIborg\-key\-import(1)\fP, \fIborg\-key\-change\-passphrase(1)\fP, \fIborg\-key\-migrate\-to\-repokey(1)\fP .SH Author The Borg Collective .\" End of generated man page. diff --git a/docs/man/borg-list.1 b/docs/man/borg-list.1 index 68f485b3b..a1405f483 100644 --- a/docs/man/borg-list.1 +++ b/docs/man/borg-list.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-list" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-list" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-list \- List archive or repository contents .SH SYNOPSIS diff --git a/docs/man/borg-mount.1 b/docs/man/borg-mount.1 index 81b09fcc5..0008b9d62 100644 --- a/docs/man/borg-mount.1 +++ b/docs/man/borg-mount.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-mount" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-mount" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-mount \- Mount archive or an entire repository as a FUSE filesystem .SH SYNOPSIS diff --git a/docs/man/borg-patterns.1 b/docs/man/borg-patterns.1 index d51cdcc2e..2e06787be 100644 --- a/docs/man/borg-patterns.1 +++ b/docs/man/borg-patterns.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-patterns" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-patterns" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-patterns \- Details regarding patterns .SH DESCRIPTION @@ -52,6 +52,10 @@ start with \fBsrc\fP\&. When you back up relative paths like \fB\&../../src\fP, the archived paths start with \fBsrc\fP\&. .UNINDENT +.IP \(bu 2 +When using the slashdot hack, patterns match against the unstripped path, +i.e., when you back up \fB/this/gets/stripped/./this/gets/archived\fP, +patterns must match \fBthis/gets/stripped/this/gets/archived\fP\&. .UNINDENT .sp A directory exclusion pattern can end either with or without a slash (\(aq/\(aq). diff --git a/docs/man/borg-placeholders.1 b/docs/man/borg-placeholders.1 index 243e9a2b6..0cbb81460 100644 --- a/docs/man/borg-placeholders.1 +++ b/docs/man/borg-placeholders.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-placeholders" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-placeholders" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-placeholders \- Details regarding placeholders .SH DESCRIPTION diff --git a/docs/man/borg-prune.1 b/docs/man/borg-prune.1 index a5c27b45e..2c650adc8 100644 --- a/docs/man/borg-prune.1 +++ b/docs/man/borg-prune.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-prune" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-prune" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-prune \- Prune repository archives according to specified rules .SH SYNOPSIS @@ -93,6 +93,9 @@ When using \fB\-\-stats\fP, you will get some statistics about how much data was deleted \- the \(dqDeleted data\(dq deduplicated size there is most interesting as that is how much your repository will shrink. Please note that the \(dqAll archives\(dq stats refer to the state after pruning. +\fB\-\-stats\fP can be slow \- if you want something faster, use \fB\-\-quick\-stats\fP +(this skips the repository\-wide \(dqAll archives\(dq statistics). +The \fB\-\-stats\fP / \fB\-\-quick\-stats\fP and \fB\-\-dry\-run\fP options are mutually exclusive. .SH OPTIONS .sp See \fIborg\-common(1)\fP for common options of Borg commands. @@ -114,6 +117,9 @@ force pruning of corrupted archives, use \fB\-\-force \-\-force\fP in case \fB\- .B \-s\fP,\fB \-\-stats print statistics for the deleted archive .TP +.B \-\-quick\-stats +print only deletion statistics, skipping repository\-wide statistics +.TP .B \-\-list output verbose list of archives it keeps/prunes .TP diff --git a/docs/man/borg-recreate.1 b/docs/man/borg-recreate.1 index 67e67ed23..7c81a195c 100644 --- a/docs/man/borg-recreate.1 +++ b/docs/man/borg-recreate.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-recreate" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-recreate" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-recreate \- Re-create archives .SH SYNOPSIS diff --git a/docs/man/borg-rename.1 b/docs/man/borg-rename.1 index 5157479fd..5d32f0ba3 100644 --- a/docs/man/borg-rename.1 +++ b/docs/man/borg-rename.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-rename" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-rename" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-rename \- Rename an existing archive .SH SYNOPSIS diff --git a/docs/man/borg-serve.1 b/docs/man/borg-serve.1 index 5f188a9cc..20c2c890a 100644 --- a/docs/man/borg-serve.1 +++ b/docs/man/borg-serve.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-serve" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-serve" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-serve \- Start in server mode. This command is usually not used manually. .SH SYNOPSIS @@ -53,7 +53,7 @@ restrict repository access. Only the repository located at PATH (no sub\-directo only allow appending to repository segment files. Note that this only affects the low level structure of the repository, and running \fIdelete\fP or \fIprune\fP or reading from the repository will still be allowed. See \fIappend_only_mode\fP in Additional Notes for more details. .TP .BI \-\-storage\-quota \ QUOTA -Override storage quota of the repository (e.g. 5G, 1.5T). When a new repository is initialized, sets the storage quota on the new repository as well. Default: no quota. +Set storage quota of the repository (has priority over the repository\(aqs own quota setting) (e.g. 5G, 1.5T). When a new repository is initialized, sets the storage quota on the new repository as well. Default: no quota. .UNINDENT .SH EXAMPLES .sp diff --git a/docs/man/borg-umount.1 b/docs/man/borg-umount.1 index 5a139037c..01f926800 100644 --- a/docs/man/borg-umount.1 +++ b/docs/man/borg-umount.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-umount" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-umount" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-umount \- un-mount the FUSE filesystem .SH SYNOPSIS diff --git a/docs/man/borg-upgrade.1 b/docs/man/borg-upgrade.1 index e4889a9b5..7d6c4c0b3 100644 --- a/docs/man/borg-upgrade.1 +++ b/docs/man/borg-upgrade.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-upgrade" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-upgrade" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-upgrade \- upgrade a repository from a previous version .SH SYNOPSIS diff --git a/docs/man/borg-version.1 b/docs/man/borg-version.1 index 595071cc7..8023f8daa 100644 --- a/docs/man/borg-version.1 +++ b/docs/man/borg-version.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-version" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-version" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-version \- Display the borg client / borg server version .SH SYNOPSIS diff --git a/docs/man/borg-with-lock.1 b/docs/man/borg-with-lock.1 index a4bcb4df0..aefef1d9e 100644 --- a/docs/man/borg-with-lock.1 +++ b/docs/man/borg-with-lock.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg-with-lock" "1" "2026-03-18" "" "borg backup tool" +.TH "borg-with-lock" "1" "2026-06-25" "" "borg backup tool" .SH Name borg-with-lock \- run a user specified command with the repository lock held .SH SYNOPSIS diff --git a/docs/man/borg.1 b/docs/man/borg.1 index 8c319a89c..49c4755d6 100644 --- a/docs/man/borg.1 +++ b/docs/man/borg.1 @@ -29,7 +29,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borg" "1" "2026-03-18" "" "borg backup tool" +.TH "borg" "1" "2026-06-25" "" "borg backup tool" .SH Name borg \- deduplicating and encrypting backup tool .SH SYNOPSIS @@ -412,7 +412,7 @@ If BORG_PASSPHRASE or BORG_PASSCOMMAND are also set, they take precedence. When set, use the value to answer the passphrase question when a \fBnew\fP passphrase is asked for. This variable is checked first. If it is not set, BORG_PASSPHRASE and BORG_PASSCOMMAND will also be checked. -Main usecase for this is to fully automate \fBborg change\-passphrase\fP\&. +Main usecase for this is to fully automate \fBborg key change\-passphrase\fP\&. .TP .B BORG_DISPLAY_PASSPHRASE When set, use the value to answer the \(dqdisplay the passphrase for verification\(dq question when defining a new passphrase for encrypted repositories. diff --git a/docs/man/borgfs.1 b/docs/man/borgfs.1 index 9264a4311..456e2d2b5 100644 --- a/docs/man/borgfs.1 +++ b/docs/man/borgfs.1 @@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "borgfs" "1" "2026-03-18" "" "borg backup tool" +.TH "borgfs" "1" "2026-06-25" "" "borg backup tool" .SH Name borgfs \- Mount archive or an entire repository as a FUSE filesystem .SH SYNOPSIS diff --git a/docs/usage/create.rst.inc b/docs/usage/create.rst.inc index 754fb9237..f71046abc 100644 --- a/docs/usage/create.rst.inc +++ b/docs/usage/create.rst.inc @@ -25,6 +25,8 @@ borg create +-------------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | ``-s``, ``--stats`` | print statistics for the created archive | +-------------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | | ``--quick-stats`` | print only archive statistics, skipping repository-wide statistics | + +-------------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | ``--list`` | output verbose list of items (files, dirs, ...) | +-------------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | ``--filter STATUSCHARS`` | only display items with the given status characters (see description) | @@ -71,6 +73,8 @@ borg create +-------------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | ``--exclude-nodump`` | exclude files flagged NODUMP | +-------------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | | ``--exclude-dataless`` | exclude files flagged DATALESS (macOS: placeholder files whose content is not materialized locally, e.g. not-downloaded cloud storage files) | + +-------------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **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 description below. | @@ -135,6 +139,7 @@ borg create options -n, --dry-run do not create a backup archive -s, --stats print statistics for the created archive + --quick-stats print only archive statistics, skipping repository-wide statistics --list output verbose list of items (files, dirs, ...) --filter STATUSCHARS only display items with the given status characters (see description) --json output stats as JSON. Implies ``--stats``. @@ -161,6 +166,7 @@ borg create --exclude-if-present NAME exclude directories that are tagged by containing a filesystem object with the given NAME --keep-exclude-tags if tag objects are specified with ``--exclude-if-present``, don't omit the tag objects themselves from the backup archive --exclude-nodump exclude files flagged NODUMP + --exclude-dataless exclude files flagged DATALESS (macOS: placeholder files whose content is not materialized locally, e.g. not-downloaded cloud storage files) Filesystem options @@ -273,7 +279,9 @@ the currently processed path. When using ``--stats``, you will get some statistics about how much data was added - the "This Archive" deduplicated size there is most interesting as that is how much your repository will grow. Please note that the "All archives" stats refer to -the state after creation. Also, the ``--stats`` and ``--dry-run`` options are mutually +the state after creation. ``--stats`` can be slow - if you want something faster, use +``--quick-stats`` (this skips the repository-wide "All archives" and chunk index statistics). +The ``--stats`` / ``--quick-stats`` and ``--dry-run`` options are mutually exclusive because the data is not actually compressed and deduplicated during a dry run. For more help on include/exclude patterns, see the :ref:`borg_patterns` command output. @@ -307,6 +315,20 @@ 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. +Error handling +++++++++++++++ + +When Borg encounters a file or directory it cannot read (e.g., due to permission +denied, or another process holding an exclusive lock on Windows), it will: + +- Log a warning message. +- Skip that file or directory and continue backing up the remaining files. +- Exit with a Warning RC at the end of the operation. + +This ensures that a single problematic file does not abort your entire backup. +You should check your logs for these warnings to ensure that all important data +is being backed up. + .. _list_item_flags: Item flags diff --git a/docs/usage/delete.rst.inc b/docs/usage/delete.rst.inc index 46a21fa6a..9ab9966a9 100644 --- a/docs/usage/delete.rst.inc +++ b/docs/usage/delete.rst.inc @@ -27,6 +27,8 @@ borg delete +-----------------------------------------------------------------------------+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | | ``-s``, ``--stats`` | print statistics for the deleted archive | +-----------------------------------------------------------------------------+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ + | | ``--quick-stats`` | print only deletion statistics, skipping repository-wide statistics | + +-----------------------------------------------------------------------------+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | | ``--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. | @@ -74,6 +76,7 @@ borg delete -n, --dry-run do not change repository --list output verbose list of archives -s, --stats print statistics for the deleted archive + --quick-stats print only deletion statistics, skipping repository-wide statistics --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. --keep-security-info keep the local security info when deleting a repository @@ -111,6 +114,9 @@ When using ``--stats``, you will get some statistics about how much data was deleted - the "Deleted data" deduplicated size there is most interesting as that is how much your repository will shrink. Please note that the "All archives" stats refer to the state after deletion. +``--stats`` can be slow - if you want something faster, use ``--quick-stats`` +(this skips the repository-wide "All archives" statistics). +The ``--stats`` / ``--quick-stats`` and ``--dry-run`` options are mutually exclusive. You can delete multiple archives by specifying a shell pattern to match multiple archives using the ``--glob-archives GLOB`` option (for more info on diff --git a/docs/usage/help.rst.inc b/docs/usage/help.rst.inc index 46eeb1b23..8bb4fed7e 100644 --- a/docs/usage/help.rst.inc +++ b/docs/usage/help.rst.inc @@ -21,6 +21,10 @@ Be careful, your patterns must match the archived paths: - When you back up relative paths like ``../../src``, the archived paths start with ``src``. +- When using the slashdot hack, patterns match against the unstripped path, + i.e., when you back up ``/this/gets/stripped/./this/gets/archived``, + patterns must match ``this/gets/stripped/this/gets/archived``. + A directory exclusion pattern can end either with or without a slash ('/'). If it ends with a slash, such as `some/path/`, the directory will be included but not its content. If it does not end with a slash, such as diff --git a/docs/usage/import-tar.rst.inc b/docs/usage/import-tar.rst.inc index 45b00ce98..5b7221ce9 100644 --- a/docs/usage/import-tar.rst.inc +++ b/docs/usage/import-tar.rst.inc @@ -25,6 +25,8 @@ borg import-tar +-------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+ | | ``-s``, ``--stats`` | print statistics for the created archive | +-------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+ + | | ``--quick-stats`` | print only archive statistics, skipping repository-wide statistics | + +-------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+ | | ``--list`` | output verbose list of items (files, dirs, ...) | +-------------------------------------------------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+ | | ``--filter STATUSCHARS`` | only display items with the given status characters | @@ -69,6 +71,7 @@ borg import-tar options --tar-filter filter program to pipe data through -s, --stats print statistics for the created archive + --quick-stats print only archive statistics, skipping repository-wide statistics --list output verbose list of items (files, dirs, ...) --filter STATUSCHARS only display items with the given status characters --json output stats as JSON (implies --stats) diff --git a/docs/usage/prune.rst.inc b/docs/usage/prune.rst.inc index f1109bd76..a3712f023 100644 --- a/docs/usage/prune.rst.inc +++ b/docs/usage/prune.rst.inc @@ -25,6 +25,8 @@ borg prune +-----------------------------------------------------------------------------+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | | ``-s``, ``--stats`` | print statistics for the deleted archive | +-----------------------------------------------------------------------------+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ + | | ``--quick-stats`` | print only deletion statistics, skipping repository-wide statistics | + +-----------------------------------------------------------------------------+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | | ``--list`` | output verbose list of archives it keeps/prunes | +-----------------------------------------------------------------------------+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | | ``--keep-within INTERVAL`` | keep all archives within this time interval | @@ -80,6 +82,7 @@ borg prune -n, --dry-run do not change repository --force force pruning of corrupted archives, use ``--force --force`` in case ``--force`` does not work. -s, --stats print statistics for the deleted archive + --quick-stats print only deletion statistics, skipping repository-wide statistics --list output verbose list of archives it keeps/prunes --keep-within INTERVAL keep all archives within this time interval --keep-last, --keep-secondly number of secondly archives to keep @@ -162,4 +165,7 @@ backup archive in the same second). When using ``--stats``, you will get some statistics about how much data was deleted - the "Deleted data" deduplicated size there is most interesting as that is how much your repository will shrink. -Please note that the "All archives" stats refer to the state after pruning. \ No newline at end of file +Please note that the "All archives" stats refer to the state after pruning. +``--stats`` can be slow - if you want something faster, use ``--quick-stats`` +(this skips the repository-wide "All archives" statistics). +The ``--stats`` / ``--quick-stats`` and ``--dry-run`` options are mutually exclusive. \ No newline at end of file diff --git a/docs/usage/serve.rst.inc b/docs/usage/serve.rst.inc index fd8324f35..fe213d320 100644 --- a/docs/usage/serve.rst.inc +++ b/docs/usage/serve.rst.inc @@ -21,7 +21,7 @@ borg serve +-------------------------------------------------------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | ``--append-only`` | only allow appending to repository segment files. Note that this only affects the low level structure of the repository, and running `delete` or `prune` or reading from the repository will still be allowed. See :ref:`append_only_mode` in Additional Notes for more details. | +-------------------------------------------------------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | | ``--storage-quota QUOTA`` | Override storage quota of the repository (e.g. 5G, 1.5T). When a new repository is initialized, sets the storage quota on the new repository as well. Default: no quota. | + | | ``--storage-quota QUOTA`` | Set storage quota of the repository (has priority over the repository's own quota setting) (e.g. 5G, 1.5T). When a new repository is initialized, sets the storage quota on the new repository as well. Default: no quota. | +-------------------------------------------------------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | .. class:: borg-common-opt-ref | | | @@ -44,7 +44,7 @@ borg serve --restrict-to-path PATH restrict repository access to PATH. Can be specified multiple times to allow the client access to several directories. Access to all sub-directories is granted implicitly; PATH doesn't need to directly point to a repository. --restrict-to-repository PATH restrict repository access. Only the repository located at PATH (no sub-directories are considered) is accessible. Can be specified multiple times to allow the client access to several repositories. Unlike ``--restrict-to-path`` sub-directories are not accessible; PATH needs to directly point at a repository location. PATH may be an empty directory or the last element of PATH may not exist, in which case the client may initialize a repository there. --append-only only allow appending to repository segment files. Note that this only affects the low level structure of the repository, and running `delete` or `prune` or reading from the repository will still be allowed. See :ref:`append_only_mode` in Additional Notes for more details. - --storage-quota QUOTA Override storage quota of the repository (e.g. 5G, 1.5T). When a new repository is initialized, sets the storage quota on the new repository as well. Default: no quota. + --storage-quota QUOTA Set storage quota of the repository (has priority over the repository's own quota setting) (e.g. 5G, 1.5T). When a new repository is initialized, sets the storage quota on the new repository as well. Default: no quota. :ref:`common_options`