Commit graph

765 commits

Author SHA1 Message Date
TW
eec76e66ac
Merge 0a484ebc07 into 1f356d8a87 2026-05-19 12:53:49 +03:00
TW
ec366d5b5f
Merge pull request #9647 from PhrozenByte/docs-slashdot-and-pattern
Document the impact of the slashdot hack to pattern matching
2026-05-15 20:46:51 +02:00
Daniel Rudolf
ae1440ed7e
Document the impact of the slashdot hack to pattern matching
... or rather that the slashdot hack doesn't impact pattern matching at all. Add a note to `borg help patterns`.
2026-05-15 14:47:44 +02:00
Thomas Waldmann
5035710042
Minimal implementation of "related repositories" for Borg 1.4.x.
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 <REPO> <SPATH>` to export the secrets to a JSON file.

`borg init --import-related-secrets <SPATH> <REPO>` to initialize a new repository using the secrets from the JSON file.

Both repositories must use the same chunk id algorithm (both HMAC-SHA256 or both BLAKE2b).

If you create related repositories with borg 1.4.x, you can later transfer their archives
to one or multiple related new borg2 repositories without breaking deduplication.

But please note that we might remove BLAKE2b support for new borg2 repos, see #8867,
so this might only work for HMAC-SHA256 in the end.
2026-05-15 13:21:00 +02:00
TW
0d93298fd3
Merge pull request #9615 from ThomasWaldmann/docs-storage-quota-3948
docs: clarify storage quota run-time settings (fixes #3948)
2026-05-13 10:00:58 +02:00
TW
d84eeea84d
docs: add DoS warning for none encryption mode, fixes #6715 2026-05-13 09:55:36 +02:00
TW
0e94055d27
docs: document error handling in borg create, fixes #4912 2026-05-13 09:48:34 +02:00
Thomas Waldmann
7f4ebba21a
docs: clarify storage quota run-time settings (fixes #3948) 2026-05-13 01:22:03 +02:00
Thomas Waldmann
35abd99965 prune: show total vs matching archives in output (fixes #9262) 2026-05-11 18:58:36 +02:00
Thomas Waldmann
2c030e005b
Add quick stats for archive creation, fixes #9579
Add `--quick-stats` to `borg create` and `borg import-tar`.

This is a lightweight alternative to `--stats`: it prints the existing
per-archive statistics, but skips repository-wide cache statistics such as
"All archives" and the chunk index summary. Those repository-wide stats can be
slow because they may require walking archive metadata.

Keep existing `--stats` and `--json` behavior unchanged.
With `--json --quick-stats`, emit archive stats but omit the top-level `cache`
object so JSON output does not trigger cache stats calculation.

Reject `--stats --quick-stats` as ambiguous. Ignore `--quick-stats` with
`--dry-run`, matching the existing `--stats` dry-run behavior.
2026-05-04 19:40:46 +02:00
Thomas Waldmann
4efaaca751
clarify append-only != write-only, fixes #9304 2026-03-18 19:11:35 +01:00
Thomas Waldmann
d53ff5f175
docs: consolidate key backup info in borg key export, fixes #6204
Consolidate key backup documentation into `borg key export` and reference
it from Quickstart and FAQ to avoid duplication and inconsistency.

Clarify that while `repokey` or `authenticated` mode stores the key in the
repo, a separate backup is still recommended to protect against repository
corruption or data loss.
2026-03-17 14:33:19 +01:00
Thomas Waldmann
80e60b4f6f
info: show cwd at the time of backup creation, fixes #6191
Useful if one archives relative paths. Together with the cwd
one can know the full path of the files.
2026-03-16 21:18:55 +01:00
TNeitzel
0a484ebc07
Add proof of concept for pull mechanism
Added a small proof of concept for a pull mechanism implementation.
Works fine for simple test cases, but probably needs many improvements
to be useful for more complex usage scenarios.
2026-03-10 19:30:00 +01:00
Konmous04
260500f3a2
prune: added -v / --info output, fixes #9262
Some checks failed
CI / lint (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Windows CI / msys2-ucrt64 (push) Has been cancelled
CI / asan_ubsan (push) Has been cancelled
CI / native_tests (push) Has been cancelled
CI / vm_tests (Haiku, false, haiku, r1beta5) (push) Has been cancelled
CI / vm_tests (NetBSD, false, netbsd, 10.1) (push) Has been cancelled
CI / vm_tests (OpenBSD, false, openbsd, 7.7) (push) Has been cancelled
CI / vm_tests (borg-freebsd-14-x86_64-gh, FreeBSD, true, freebsd, 14.3) (push) Has been cancelled
2026-01-31 20:48:28 +01:00
Thomas Waldmann
3630eaafdf
replace deprecated argparse.FileType, fixes #9266
also: fix trailing whitespace in archiver.py.
2026-01-22 17:10:17 +01:00
MartinKurtz
f379420e7c
mount: warn about symlinks pointing outside of the mountpoint, see #9254
Some checks failed
CI / lint (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Windows CI / msys2-ucrt64 (push) Has been cancelled
CI / asan_ubsan (push) Has been cancelled
CI / native_tests (push) Has been cancelled
CI / vm_tests (Haiku, false, haiku, r1beta5) (push) Has been cancelled
CI / vm_tests (NetBSD, false, netbsd, 10.1) (push) Has been cancelled
CI / vm_tests (OpenBSD, false, openbsd, 7.7) (push) Has been cancelled
CI / vm_tests (borg-freebsd-14-x86_64-gh, FreeBSD, true, freebsd, 14.3) (push) Has been cancelled
2026-01-12 23:09:34 +01:00
Thomas Waldmann
8334b41f82
diff help: remove trailing blank 2025-12-02 00:19:23 +01:00
Thomas Waldmann
cb0157ca55
drop Python 3.9 (EOL'ed by python.org) 2025-11-01 13:09:28 +01:00
Thomas Waldmann
177f7d5b9a
docs(compact): explain how to get maximum compaction with --threshold 0 and trade-offs (#9112, discussion #8716) 2025-10-30 11:08:17 +01:00
Thomas Waldmann
9226d9c6a9
reformat init_epilog to 80chars wide 2025-10-29 13:26:31 +01:00
Thomas Waldmann
b22cc77453
better clarity, generalisation, precision, less typos 2025-10-29 13:10:45 +01:00
Thomas Waldmann
3c2daef474
fix typos and grammar
Junie AI + TW
2025-10-29 11:19:49 +01:00
Thomas Waldmann
4eb6773c2d
fix rst_plain_text_references 2025-10-29 10:52:56 +01:00
Daniel Rudolf
d42453fde4
Docs: Rewrite borg init docs 2025-10-26 23:13:59 +01:00
Atemu
908c506e3f
extract: document how to use wildcards in PATHs
Fixes https://github.com/borgbackup/borg/issues/8589
2025-10-13 19:54:49 +02:00
TW
924d94be75
Merge pull request #9054 from ThomasWaldmann/fix-7144-1.4
Some checks are pending
CI / lint (push) Waiting to run
CI / pytest (macos-14, 3.11, py311-none) (push) Blocked by required conditions
CI / pytest (ubuntu-22.04, 3.10, py310-fuse3) (push) Blocked by required conditions
CI / pytest (ubuntu-22.04, 3.11, py311-fuse2) (push) Blocked by required conditions
CI / pytest (ubuntu-22.04, 3.9, py39-fuse2) (push) Blocked by required conditions
CI / pytest (ubuntu-24.04, 3.12, py312-fuse3) (push) Blocked by required conditions
CI / pytest (ubuntu-24.04, 3.13, py313-fuse3) (push) Blocked by required conditions
CI / pytest (ubuntu-24.04, 3.14, py314-fuse3) (push) Blocked by required conditions
CodeQL / Analyze (push) Waiting to run
docs: improve borg help patterns, fixes #7144
2025-10-12 15:24:42 +02:00
TW
81b3b767be
Merge pull request #9057 from ThomasWaldmann/mount-show-rc-1.4
mount --show-rc: display main process rc, fixes #8308
2025-10-12 15:19:11 +02:00
Thomas Waldmann
41bd6dd35b
docs: improve borg help patterns, fixes #7144 2025-10-12 14:21:37 +02:00
Thomas Waldmann
f4a6ea370b
patterns: clarify scope of default pattern style, fixes #9004 2025-10-11 20:07:26 +02:00
Thomas Waldmann
702de47197
mount --show-rc: display main process rc, fixes #8308
when borg mount is used without -f/--foreground (so that the FUSE
borg process was started daemonized in the background), it did not
display the rc of the main process, even when --show-rc was used.

now it does display the rc of the main process.

note that this is rather a consistency fix than being super useful,
because the main "action" happens in the background daemon process,
not in the main process.
2025-10-11 18:55:54 +02:00
Thomas Waldmann
92418883dc
docs: how to debug borg mount, fixes #5461 2025-10-10 14:57:25 +02:00
Thomas Waldmann
7f9dd37536
diff --sort-by: enhanced sorting, fixes #8998
use borg diff --sort-by=spec1,spec2,spec2 for enhanced sorting.

keep legacy --sort behaviour (sort by path) for compatibility,
but deprecate it.

Co-authored-by: Daniel Rudolf <github.com@daniel-rudolf.de>
2025-09-18 23:32:23 +02:00
Thomas Waldmann
f837e6a27a
preprocess_args: fix option name matching
previously, it also matched on --sort-by when it only should have matched on --sort.
2025-09-18 23:32:10 +02:00
Thomas Waldmann
3f9ad883cb
manual fixes
sometimes the AI got it wrong.
also some other fixes.
2025-08-17 16:05:51 +02:00
Thomas Waldmann
71888265f9
epilogs: fix typos and grammar 2025-08-11 17:51:26 +02:00
Thomas Waldmann
3e6a9d677f
code: fix typos and grammar 2025-08-10 15:51:29 +02:00
Thomas Waldmann
e5d04710ad
create --files-changed=MODE option
control how borg detects whether a file has changed while it was backed up, valid modes are ctime, mtime or disabled.

ctime is the safest mode and the default.

mtime can be useful if ctime does not work correctly for some reason
(e.g. OneDrive files change their ctime without the user changing the file).

disabled (= disabling change detection) is not recommended as it could lead to
inconsistent backups. Only use if you know what you are doing.
2025-07-19 00:39:40 +02:00
Divyansh Agrawal
3880c7e127
implement padme chunk size obfuscation (SPEC 250), fixes #8705
(backport from master)
2025-04-18 17:25:03 +02:00
Nish_
7cf8316099 quickfix to disallow running borg with assertions switched off
Signed-off-by: Nish_ <120EE0980@nitrkl.ac.in>
2025-03-10 20:05:38 +05:30
goebbe
15ec434b50
docs: clarify requirements when using command line options with special characters within a shell #8628
docs: clarify requirements when using command line options with special characters within a shell #8628 

port to the 1.4-maint branch
2025-01-13 08:19:53 +01:00
Thomas Waldmann
7d9028a221
mount docs: apply jdchristensen's suggestion, better phrasing. 2024-12-28 22:42:18 +01:00
Thomas Waldmann
4f794bbeea
config: reject additional_free_space < 10M, fixes #6066
Doesn't mean that 10M is very helpful in out of space conditions,
but avoids wrong unit assumptions as in #6066.
2024-12-24 22:41:39 +01:00
TW
a0fbdd978c
Merge pull request #8596 from ThomasWaldmann/compact-dry-run-1.4
compact: support --dry-run (do nothing), fixes #8300
2024-12-24 21:16:09 +01:00
TW
6bbbf3c6ec
Merge pull request #8595 from ThomasWaldmann/storage-quota-zero-1.4
config: fix acceptance of storage_quota 0, fixes #8499
2024-12-24 21:14:43 +01:00
Thomas Waldmann
09745d22fd
compact: support --dry-run (do nothing), fixes #8300
Sole purpose of this is to simplify scripting.
2024-12-24 19:34:21 +01:00
Thomas Waldmann
e74c912856
config: fix acceptance of storage_quota 0, fixes #8499
We don't want to accept very small quota limits < 10M,
but 0 (quota disabled) is acceptable.
2024-12-24 19:13:05 +01:00
Martin Richtarsky
8fe9c5ed6c docs: Small changes regarding compression
- Mention zstd as the best general choice when not using lz4
  (as often acknowledged by public benchmarks)
- Mention 'auto' more prominently as a good heuristic to improve
  speed while retaining good compression
- Link to compression options

(cherry picked from commit f656f6b1f2)
2024-11-15 07:40:42 +00:00
TW
d94b954da2
Merge pull request #8344 from cr1901/relax_hardlink_assert
Do not assert on diff if hard link sources are not found due to exclusions
2024-10-06 14:00:01 +02:00
Thomas Waldmann
cbbfc35db0
docs: mount: document on-demand loading, perf tips, fixes #7173 2024-10-05 19:21:17 +02:00